elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Cambiar palabra y ejecutar función [help]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cambiar palabra y ejecutar función [help]  (Leído 2,896 veces)
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Cambiar palabra y ejecutar función [help]
« en: 24 Julio 2009, 13:51 pm »

Hola, bueno lo que quiero hacer es que por ejemplo si yo pongo en un areatext entre unos bbcodes (
echo "Hola";
) por ejemplo, quiero que al haber utilizado [php]... que llame a una función llamada phpf y que lo de dentro se ponga de color.
No quiero que me deis como hacer el color porque eso ya lo se, lo unico que quiero es que pueda hacer que entre dos tags, ese texto cambiarle el color :). Parecido al geshi, esque lo estoy creando desde 0, y me ha surgido esa duda :S.


En línea

Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #1 en: 24 Julio 2009, 16:20 pm »

pues no se si te entendi bien  ;D

bueno lo que yo haria seriá separar lo que se va a imprimir con un
Código
  1. $text = split(" ", $text);
y despues con un for buscar si el pedazo es por ejemplo "echo" y cambiarlo por el echo ya coloreado

saludos!


En línea

|-
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #2 en: 24 Julio 2009, 16:28 pm »

Claro pero lo que yo hare sera ponerlo entre
¿entiendes? Como puedo recojer lo de enmedio :S?
En línea

Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #3 en: 24 Julio 2009, 16:33 pm »

mmm haora te entiendo menos xD

podrias poner el code?
En línea

|-
^Cloud^

Desconectado Desconectado

Mensajes: 64


La tierra es plana.


Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #4 en: 24 Julio 2009, 16:34 pm »

Bueno... para estas chorradas suelo usar preg_replace ya que me resulta lo más comodo. Algo como lo que tu quieres hacer sería más o menos así:

Código:
<?php
$pattern[] ='/\[red\](.*)\[\/red\]/i';
$pattern[] = '/\[blue\](.*)\[\/blue\]/i';
$replace[] = '<font color="red">${1}</font>';
$replace[] = '<font color="blue">${1}</font>';
$text = "El [blue]perro[/blue] de san roque no [red]tiene[/red] rabo";
print preg_replace($pattern,$replace,$text);
?>
De esta forma te puedes crear los patrones y los reemplazos en un fichero aparte, para añadir lo quitar los que quieras y añadirlos a través de un include.

Un saludo,
En línea

Ahora resulta que imagino mi pasado
y llevo en esta clínica cuarenta años.
Nunca jamás he pisado la calle
y el electroshock ha sido mi padre
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #5 en: 24 Julio 2009, 16:39 pm »

Para que son: /\[red\](.*)\[\/red\]/i

Pones muchos caracteres :S
En línea

^Cloud^

Desconectado Desconectado

Mensajes: 64


La tierra es plana.


Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #6 en: 24 Julio 2009, 16:44 pm »

Es una expresion regular. Las barras son para escapar los caracteres especiales (que pueden formar parte de una expresión pero quieres que se interpreten por lo que son).
En línea

Ahora resulta que imagino mi pasado
y llevo en esta clínica cuarenta años.
Nunca jamás he pisado la calle
y el electroshock ha sido mi padre
Erika Vega

Desconectado Desconectado

Mensajes: 96



Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #7 en: 24 Julio 2009, 17:29 pm »

Lo que entiendo es que por ejemplo cuando el ponga los bbcodes
Código:
[php]EL CODIGO AQUI[/php]

Todo lo que este dentro de esos tags quede en colores.

aqui mi codigo que te puede dar una idea.
Código
  1. <?
  2.  
  3. function bbcode_php($str){
  4.   $color = substr($str,5,-6);
  5.   $show = highlight_string($color);
  6. }
  7.  
  8. echo bbcode_php('[php]<? echo "hola"; ?>[/php]');
  9.  
  10. ?>

Saludos.
« Última modificación: 24 Julio 2009, 17:31 pm por Erika Vega » En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Cambiar palabra y ejecutar función [help]
« Respuesta #8 en: 24 Julio 2009, 19:14 pm »

Gracias erika, cloud
Me ha servido, no pense en substr :) ahora me queda otra duda.
Si tengo todo un array que quiero que si aparecen esas palabras en el texto se conviertan en <font face="terminal" size="2" color="#0000f7"> Yo pense en strstr y si aparece se le colorea, pero eso tardare mucho, algun proceso más rapido?
« Última modificación: 24 Julio 2009, 19:39 pm por Erik# » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines