Foros del Web » Programando para Internet » PHP »

reglas para preg_replace()

Estas en el tema de reglas para preg_replace() en el foro de PHP en Foros del Web. Hola, gracias a todos los que se tomen la molestía de leer mi duda. Lo que me pasa es que no cnozco bien las reglas ...
  #1 (permalink)  
Antiguo 08/01/2006, 13:00
 
Fecha de Ingreso: abril-2004
Ubicación: Ciudad de México
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 1
reglas para preg_replace()

Hola, gracias a todos los que se tomen la molestía de leer mi duda. Lo que me pasa es que no cnozco bien las reglas que se siguen en la funcion preg_replace(), y tengo está cadnea:

Código:
[cod]
  class Stan{
    public static void main(String args[]){
      System.out.println("Hello world.");
    }
  }
[/cod]
Y quiero que al final me entregue este otro codigo:

Código:
<pre>
  class Stan{
    public static void main(String args[]){
      System.out.println("Hello world.");
    }
  }
</pre>
O sea, quiero que suceda algo muy parecido a lo que pasa en este foro. Tengo esta linea en mi codigo PHP:

Código:
$texto = preg_replace("'\[cod\](.*?)\[/cod\]'i","<pre>\\1</pre>",$texto);
Pero solo funciona si todo el texto estuviera en una sola línea, entonces mi duda es: ¿Cómo indico que la cadena a buscar tambi´pen puede tener saltos de linea? ¿Qué debo de escribir en lugar de (.*?)?
  #2 (permalink)  
Antiguo 08/01/2006, 13:42
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 16 años, 10 meses
Puntos: 11
Código PHP:
$foo '
[cod]
class Stan{
public static void main(String args[]){
System.out.println("Hello world.");
}
}
[/cod]
'
;

 
$search preg_match("/\[cod\](.*?)\[\/cod\]/si"$foo$match);
$result '<pre>' $match[1] . '</pre>';
 
echo 
$result

saludos capo
  #3 (permalink)  
Antiguo 08/01/2006, 17:56
 
Fecha de Ingreso: abril-2004
Ubicación: Ciudad de México
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 1
ok, ya funcionó, gracias Tukzone!! En realidad la parte que mejor me funciono fue:

"/\[cod\](.*?)\[\/cod\]/si"
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 09:35.