Foros del Web » Programando para Internet » PHP »

Error con preg_remplace

Estas en el tema de Error con preg_remplace en el foro de PHP en Foros del Web. Tengo el siguiente codigo Código PHP: $archivo  =  'asd.html' ; $buscar  =  '<em>NOMBRE</em>' ; $remplazar  =  '<b>NOMBRE</b>' ; $pagina  =  file_get_contents ( $archivo ); $r  ...
  #1 (permalink)  
Antiguo 24/06/2011, 18:17
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Error con preg_remplace

Tengo el siguiente codigo

Código PHP:
$archivo 'asd.html';
$buscar '<em>NOMBRE</em>';
$remplazar '<b>NOMBRE</b>';

$pagina file_get_contents($archivo);
$r preg_replace("/".$buscar."/"$remplazar$pagina);
echo 
$r
En asd.html tengo escrito esto: <em>NOMBRE</em>

Me tira el siguiente error:

Warning: preg_replace() [function.preg-replace]: Unknown modifier '>' in C:\AppServ\www\mod\install.php on line 14

El error solo me da cuando hago búsquedas o remplazo que contengan tags html

Busque en Google y encontré que era problemas sobre expresiones regulares pero no puedo encontrar una solución.
  #2 (permalink)  
Antiguo 24/06/2011, 18:39
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Error con preg_remplace

Probaste con preg_quote ?, algo asi:

Código PHP:
Ver original
  1. ...
  2. $r = preg_replace(sprintf('%s%s%s', '/' , preg_quote($buscar, '/'), '/'),
  3.                          $remplazar, $pagina);
  4. echo $r . PHP_EOL;

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 24/06/2011, 18:45
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error con preg_remplace

Cita:
Iniciado por masterpuppet Ver Mensaje
Probaste con preg_quote ?, algo asi:

Código PHP:
Ver original
  1. ...
  2. $r = preg_replace(sprintf('%s%s%s', '/' , preg_quote($buscar, '/'), '/'),
  3.                          $remplazar, $pagina);
  4. echo $r . PHP_EOL;

Saludos.
Gracias error solucionado :)
  #4 (permalink)  
Antiguo 24/06/2011, 18:50
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Error con preg_remplace

las expresiones regulares se definen con esta sintáxis

$expresion ='/(\w+) (\d+), (\d+)/i';

El contenido de la expresión puede variar, pero es necesario encerrarlo entre /

/nombre/; es una expreson regular
nombre; no es una expresion regular
Al margen de esto, tu expresion regular debe de estar bien construida, en tu ejemplo seria asi
$buscar = "/<em>NOMBRE<\/em>/i";
(la i al final significa que no distingue mayusculas de minusculas, si no se quita


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: Ninguno
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 13:57.