Foros del Web » Programando para Internet » PHP »

Colores entre // & <br>

Estas en el tema de Colores entre // & <br> en el foro de PHP en Foros del Web. He buscado en todo el foro... y la verdad es que no quiero algo tan complejo como lo de los colores de php, sino solo ...
  #1 (permalink)  
Antiguo 31/01/2004, 07:36
Adoniasv
Invitado
 
Mensajes: n/a
Puntos:
Colores entre // & <br>

He buscado en todo el foro... y la verdad es que no quiero algo tan complejo como lo de los colores de php, sino solo me interesa colorear los comentarios........

Código PHP:
//este tipo de comentarios 
Código PHP:
/*este tipo de comentarios*/ 
nada mas....

alguna idea.....¿?

la del comentario simple lo he pensado de esta manera....

que comiense con // y termine con <br>

que les parece... :P
  #2 (permalink)  
Antiguo 31/01/2004, 15:35
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 4 meses
Puntos: 0
utiliza la funcion str_replace
que cambia una cadena por otrta...me explico
tu cadena de busqueda será "/*", cuando la encuentre la cambias por "<color='#336699'>/*"
cuando encuentrte "*/" la cambias por "*/</color>"

lo mismo para el comentario simple salu2
  #3 (permalink)  
Antiguo 01/02/2004, 05:31
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Igual... no es necesario colorear el código "a mano"... hay funciones de php lo hacen por tí. Revisa en el manual las funciones:
highlight_string():
http://www.php.net/manual/es/functio...ght-string.php

highlight_file():
http://www.php.net/manual/es/functio...light-file.php

Y si sólo te interesa lo de los comentarios, pues haces lo que te puso HiTek:
Código PHP:
//Supongamos que tienes el texto o código en la variable $texto
$texto str_replace("/*""<font color=\"#336699\">/*"$texto);
$texto str_replace("*/""</font>*/"$texto);

//Y para los otros comentarios de una línea, pues buscas el salto de línea para saber donde terminará:
 
$texto str_replace("//""<font color=\"#336699\">//"$texto);
$texto str_replace("\\n""</font>\\n"$texto); 
También verifica con \r o \r\n

Saludos

Última edición por jpinedo; 01/02/2004 a las 05:47
  #4 (permalink)  
Antiguo 01/02/2004, 09:29
Adoniasv
Invitado
 
Mensajes: n/a
Puntos:
gracias.. era mas o menos asi como lo tenia pensado

Código PHP:
preg_replace("/\[img\](.+?)\[\/img\]/"'<div align="center"><img src="$1"></div>'$Text); 
ya que si le coloco </font> despues de cada salto... se llenara de html por todos lados...

intente asi....

Código PHP:
preg_replace("/\// (.+?)\[\\n/\]/"'<font>... </font>'$Text); 
pero no funca... :P

Última edición por Adoniasv; 01/02/2004 a las 09:40
  #5 (permalink)  
Antiguo 01/02/2004, 12:28
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Pues tienes razón... no sé dónde tendría la cabeza...

Pues la expresión regular debe ser más o menos así:
Código PHP:
$texto preg_replace("/(\\/\\/){1}(.+)(\n)/""<font color=\"#336699\">\\\\0</font>"$texto); 
No lo he probado... pero por ahí va la cosa.

Saludos

Última edición por jpinedo; 01/02/2004 a las 12:33
  #6 (permalink)  
Antiguo 01/02/2004, 12:59
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
mmm ahora que veo bien... sería mejor sacar la "\n" de la etiqueta <font>.. para esto creo que puede funcionar mejor:
Código PHP:
$texto preg_replace("/(\\/\\/){1}(.+)(\n)/""<font color=\"#336699\">\\\\1\\\\2</font>\\\\3"$texto); 
Saludos
  #7 (permalink)  
Antiguo 01/02/2004, 13:30
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Ah... una cosa más... cuando postees código dentro de las etiquetas de PHP en este foro, ten en cuenta que hay algunos problemas con la contrabarra en las cadenas... Si escribes "\n", "\r", "\"" aparecerá bien... el problema es cuando quieres poner una contrabarra antes de otro caracter, no aparecerá....
La solución?? escapa con otra contrabarra las contrabarras que quieras que aparezcan, menos las \n, \r, \", etc.

ja, ja, ja xD, xD.. si entiendes el tremendo enredo que acabo de postear me avisas... Sólo te digo que revises el code que postees cuando incluyas contrabarras (sobretodo en expresiones regulares)...

SaludosxD, xDDDDD
  #8 (permalink)  
Antiguo 01/02/2004, 14:44
Adoniasv
Invitado
 
Mensajes: n/a
Puntos:
ok.. gracias....

pruebo y te aviso...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:44.