Foros del Web » Programando para Internet » PHP »

Sustituir partes de un texto.

Estas en el tema de Sustituir partes de un texto. en el foro de PHP en Foros del Web. Me explico brevemente: Estoy aprendiendo PHP y hace poco he logrado una especie de Foro (Uno de los ejercicios más básicos según se). Me gustaría ...
  #1 (permalink)  
Antiguo 17/10/2008, 09:22
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Sustituir partes de un texto.

Me explico brevemente: Estoy aprendiendo PHP y hace poco he logrado una especie de Foro (Uno de los ejercicios más básicos según se). Me gustaría mejorarlo para que puedan usar negrita, cursiva y demás.

Primero que nada, me gustaría cambiar los símbolos <, > y & por sus respectivos &lt;, &gt;, y &amp;, para que no me cree problemas en los post.

En segundo, me gustaría hacer una especie de bbcode, para que si ponen [ b ] o [ i ], me los sustituya por <b> e <i> respectivamente.

He de suponer que hay alguna función que me ayude a tomar el texto obtenido de la base de datos y leerlo para buscar en él y hacer estos reemplazos, pero no tengo idea de como pueda llamarse si quiera.

Muchas gracias por la ayuda.
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #2 (permalink)  
Antiguo 17/10/2008, 09:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Sustituir partes de un texto.

Hola daPhyre,

La función es preg_replace, necesitas usar expresiones regulares para hacer lo que pides, en Google tienes muchos ejemplos de BBcode parsers.

Saludos.
  #3 (permalink)  
Antiguo 17/10/2008, 10:15
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Respuesta: Sustituir partes de un texto.

Para los caracteres HTML usas html_entities (Convierte todos los caracteres a su entidad HTML aplicable) y html_entity_decode (para la operacion inversa)

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #4 (permalink)  
Antiguo 17/10/2008, 11:16
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 1 mes
Puntos: 142
Respuesta: Sustituir partes de un texto.

¡Excelente! ambos me han ayudado mucho.

Si bien no me conviene usar htmlentities pues quiero limitar el uso permitido, encontré en el mismo link la función htmlspecialchars que me reducirá un poco el trabajo.

En cuanto a la otra función, cual sería la diferencia entre usar preg_replace y str_replace, que ambos me han parecido funcionar igual para lo que necesito. ¡Muchas gracias!
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #5 (permalink)  
Antiguo 17/10/2008, 11:37
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Sustituir partes de un texto.

preg_* se basa en expresiones regulares mientras que str_* se basa en operaciones de cadenas.

Las expresiones regulares son mas versatiles y te dan mas libertad que las opciones de cadena, pero consumen mas memoria claro.
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 06:28.