Tema: preg_replace
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/04/2007, 12:23
enridp
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 19 años
Puntos: 11
preg_replace

Hola !!!
Estoy tratando de mdificar un poco una parte del bbcode.php de un foro phpbb para que el texto que está entre lo trabaje de un modo especial.

Esto es lo que hice:

Código PHP:
$Antes "<a href=\"javascript:void(0);\" onClick=\"newWindow=window.open(\'\',\'latexCode\',\'toolbar=no,location=no,scrollbars=yes,resize=yes,status=no,width=600,height=350\'); newWindow.document.write(\'<HTML><BODY BGCOLOR=#ECE9D8><PRE><FONT FACE=VERDANA SIZE=2 COLOR=red>El codigo LaTeX de la imagen que seleccionó es el siguiente:</FONT><PRE>[tex]";
        
$Medio "[/tex]</PRE><BR><BR></center></BODY></HTML>\');\"><img border=\'0\' src=\"/cgi-bin/mimetex.cgi?%5Creverse%20";
        
$Final "\" \'malign=\'absmiddle\'></a>";
        
$text preg_replace('/\[tex\](.*?)\[\/tex\]/ie'"'$Antes'.'$1'.'$Medio'.rawurlencode('$1').'$Final'"$text); 
Si pongo [tex]x^2[/tex] anda perfecto pero si pongo por ejemplo
[tex]x^2
[/tex]
ya no funciona. De hecho siempre que hay un salto de línea en algún lugar ya no funciona. Si alguien me puede ayudar a modificarlo me hace un gran favor porque me está volando un poco...
Y ya que estamos lo que en realidad quería hacer era esto:
Lo que está entre [tex][/tex] va a parar a un cgi (que crea una imagen gif), que acepta una LINEA de código, por eso no puede haber saltos de líneas en el cgi...
Entonces si se quiere poner algo como
x^2
y^2
Como está ahora hecho habría que hacer:
[tex]x^2[/tex]
[tex]y^2[/tex]
Me gustaría que se pueda hacer simplemente con algo como:
[tex]
x^2
y^2
[/tex]
Para eso en PHP debería agarrar cada línea y crear y pasarsela al cgi por separado, en el ejemplo anterior el cgi se llamaría dos veces generando las dos imágenes para las dos funciones.
Por supuesto que lo ví medio complicado asique no hice nada de eso, pero si alguien se anima dejo abierto el desafío

Saludos !
enri.