Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/02/2012, 14:52
Avatar de tata009
tata009
 
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 18 años
Puntos: 3
Al parsear me sustituye caracteres especiales y no funciona

Hola tengo un problema al parsear BBcode, ya hice el codigo que reemplaza todas las etiquetas, pero sin aun pasarle ningun tipo de filtro como htmlentities o htmlspecialchars, me sustituye por ejemplo el
Cita:
<div align="center">
por

Cita:
<div align="\&quot;center\&quot;">
Mi codigo es el siguiente:

Código PHP:

$mensaje 
= $_POST[mensaje];
 
$antes = array('[b]', '[/b]', '[i]', '[/i]', '[u]', '[/u]', '[left]', '[/left]', '[center]', '[/center]', '[right]', '[/right]','[color=darkred]', '[/color]', '[color=red]', '[/color]', '[color=orange]', '[/color]', '[color=brown]', '[/color]', '[color=yellow]', '[/color]', '[color=green]', '[/color]', '[color=olive]', '[/color]', '[color=cyan]', '[/color]','[color=blue]', '[/color]','[color=darkblue]', '[/color]','[color=indigo]', '[/color]','[color=violet]', '[/color]','[color=violet]', '[/color]','[size=7pt]', '[/size]','[size=9pt]', '[/size]','[size=12pt]', '[/size]','[size=18pt]', '[/size]','[size=24pt]', '[/size]', '[font=Arial]', '[/font]', '[font=Courier New]', '[/font]','[font=Georgia]', '[/font]', '[font=Times New Roman]', '[/font]','[font=Verdana]', '[/font]', '[font=Trebuchet MS]', '[/font]','[font=Lucida Sans]', '[/font]','[font=Comic Sans]', '[/font]');
 
$despues = array('<b>', '</b>', '<i>', '</i>', '<u>', '</u>', '<div align=\"left\">', '</div>', '<div align=\"center\">', '</div>', '<div align=\"right\">', '</div>', '<font color="#CC3300">', '</font>', '<font color="#FF3333">', '</font>' , '<font color="#FF9900">', '</font>', '<font color="#996633">', '</font>', '<font color="#FFFF66">', '</font>','<font color="#669966">', '</font>','<font color="#339966">', '</font>','<font color="#66FFFF">', '</font>','<font color="#6633CC">', '</font>','<font color="#333399">', '</font>', '<font color="#663366">', '</font>','<font color="#6633CC">', '</font>','<font color="#000000">', '</font>', '<font size=\"4\">', '</font>', '<font size=\"5\">', '</font>','<font size=\"6\">', '</font>','<font size=\"7\">', '</font>','<font size=\"8\">', '</font>', '<font face=\"Arial\">', '</font>','<font face=\"Courier New\">', '</font>','<font face=\"Georgia\">', '</font>','<font face=\"Times New Roman\">', '</font>','<font face=\"Verdana\">', '</font>',
'<font face=\"Trebuchet MS\">','</font>','<font face=\"Lucida Sans\">','</font>', '<font face=\"Comic Sans\">','</font>');
 
$mensaje = str_replace($antes, $despues, $mensaje);
 
 
preg_replace("/\['youtube'\](.*)\[\/'youtube'\]/i", "<object width=\"425\" height=\"344\">\n<param name=\"movie\" value=\"$1\">\n</param><param name=\"allowFullScreen\" value=\"true\">\n</param><param name=\"allowscriptaccess\" value=\"always\">\n</param><embed src=\"$1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"425\" height=\"344\"></embed></object>", $mensaje);
 

echo 
$mensaje; 

Bueno espero que me puedan ayudar ya que al escaparme los caracteres de Html no me los interpreta!

Saludos y graciass!
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos