Foros del Web » Programando para Internet » PHP »

PHP OO Cambiar font por span

Estas en el tema de Cambiar font por span en el foro de PHP en Foros del Web. Hola gente, buenas tardes (acá son las 15:19) Necesito solucionar un problema y no sé cómo . El tema es el siguiente, tengo un foro, ...
  #1 (permalink)  
Antiguo 06/10/2011, 12:33
Avatar de fernandoggaitan  
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 2
Cambiar font por span

Hola gente, buenas tardes (acá son las 15:19)

Necesito solucionar un problema y no sé cómo . El tema es el siguiente, tengo un foro, que tiene un editor WYSIWYG. Durante su corta existencia las personas ingresaban comentarios y se guardaban en la base de datos con etiquetas <font>, el problema es que por lo que estuve leyendo en html5 esas etiquetas ya no sirven y me gustaría cambiarlas por span.

Quisiera saber si alguno tiene una función con php o javascript que permita modificar eso, por ejemplo, si una etiqueta es:

<font color="#ff0000"> Contenido </font>

que se reemplace por:

<span style="color: #ff0000"> Contenido </span>

Seguramente debe hacerse con expresiones regulares, pero no tengo muchos conocimientos de las mismas.

Saludos y gracias.
  #2 (permalink)  
Antiguo 06/10/2011, 12:35
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años
Puntos: 793
Respuesta: Cambiar font por span

Te puede servir hasta la función str_replace

[APORTE] Expresiones PCRE
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 06/10/2011, 12:39
Avatar de fernandoggaitan  
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Cambiar font por span

Andrés gracias por responder.

Sí, esa función ya la conocía, el problema es que la función reemplaza igualdades y no coincidencias, yo podría hacer esto:

$nuevo = str_replace('font' , 'span' , $viejo);

Pero estas etiquetas tienen atributos que que pueden tener distintos valores, por ejemplo el color.
  #4 (permalink)  
Antiguo 06/10/2011, 12:41
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años
Puntos: 793
Respuesta: Cambiar font por span

Entonces usa preg_replace o DOMDocument para reemplazar esas etiquetas.

Lee el aporte de expresiones regulares.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 06/10/2011, 12:55
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años
Puntos: 194
Respuesta: Cambiar font por span

Podrías hacer como te dice andres, o ingeniártelas con una regular.

Algo así te podría servir

Código PHP:
Ver original
  1. <?php
  2.  
  3. $cadena = '<font color="blue"> Contenido </font>';
  4.  
  5. $cadena = str_replace('font', 'span', $cadena);
  6. $cadena = preg_replace('/color="/', 'style="color:', $cadena);
  7.  
  8. echo $cadena;
  9.  
  10. ?>
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 06/10/2011, 12:58
Avatar de fernandoggaitan  
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Cambiar font por span

Buenísimo, esto es lo que quería. Gracias chicos. Aunque no los conozco, saludos adonde estén :).
  #7 (permalink)  
Antiguo 06/10/2011, 13:00
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años
Puntos: 194
Respuesta: Cambiar font por span

OJO si alguien usa la palabra 'font' en tu editor de texto lo único jaja
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #8 (permalink)  
Antiguo 06/10/2011, 13:02
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Cambiar font por span

amigo creo que con str_replace
te explico:
Código PHP:
Ver original
  1. str_replace("<font>","<span>",$variable)
  2. str_replace("</font","</span>",$variable)
si estoy equivocado espero que alguien te aporte mejor conocimiento que yo
Saludos
__________________
Visita a Publiventa donde compras y vendes de todo

Etiquetas: font, html, span
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 15:59.