Foros del Web » Programando para Internet » PHP »

sustituir antes de subir a la base de datos

Estas en el tema de sustituir antes de subir a la base de datos en el foro de PHP en Foros del Web. Hola, mirar, resulta que tengo 1 editor de texto con BBCODES, bien, lo que quiero, es que cuando vaya a subiir a la base de ...
  #1 (permalink)  
Antiguo 19/08/2011, 16:38
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
sustituir antes de subir a la base de datos

Hola, mirar, resulta que tengo 1 editor de texto con BBCODES, bien, lo que quiero, es que cuando vaya a subiir a la base de datos, me suba remplazado, ejemplo:

[b.]texto[/b.] >> <b>texto</b>

y quisiera saber como remplazar las etiquetas antes de subirse, para a la hora de mostrarse, se muestre correctamente...
  #2 (permalink)  
Antiguo 19/08/2011, 16:42
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: sustituir antes de subir a la base de datos

Usa la función str_replace()
__________________
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 19/08/2011, 17:09
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: sustituir antes de subir a la base de datos

Te recomiendo que uses: preg_replace y no str_replace

Acá te dejo un código para que te guies

$bbcode = '/\[pelicula=(.*) nombre=(.*)\](.*)\[\/pelicula\]/Usi';
$html = '<li><a href="#tb$1">$2</a></li>';

$texto = preg_replace ( $bbcode, $html, $texto);
  #4 (permalink)  
Antiguo 19/08/2011, 17:51
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: sustituir antes de subir a la base de datos

En caso de querer expresiones regulares, sería así más o menos si tus BBCODE son las mismas etiquetas html. Por ejemplo [b.]texto[/b.] lo reemplazaria por <b>texto</b> y así sucesivamente.

Código PHP:
Ver original
  1. $str = '[b.]texto[/b.]';
  2. echo preg_replace('@\[(.*)\.\](.*)\[(/.*)\.\]@i', '<$1>$2<$3>', $str);

Exactamente lo mismo hace str_replace y me parece muy útil si no son demasiados BBCODE:

Código PHP:
Ver original
  1. $str = '[b.]texto[/b.]';
  2. $arr = array('[b.]', '[/b.]');
  3. $rem = array('<b>', '</b>');
  4. echo str_replace($arr, $rem, $str);

Lo que más importa es que vos aprendas:

Aporte de expresiones regulares
__________________
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

Última edición por andresdzphp; 19/08/2011 a las 18:15

Etiquetas: sustituir
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 14:46.