Foros del Web » Programando para Internet » PHP »

Problema con expresion regular

Estas en el tema de Problema con expresion regular en el foro de PHP en Foros del Web. Hola gente, tengo un problema con una expresion regular, no consigo que funcione correctamente. Tengo el siguiente codigo que lo que hace (o debreria) es ...
  #1 (permalink)  
Antiguo 26/05/2010, 07:45
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Problema con expresion regular

Hola gente, tengo un problema con una expresion regular, no consigo que funcione correctamente.

Tengo el siguiente codigo que lo que hace (o debreria) es substituir todos los atributos alt de las imagenes de una pagina por los que yo diga, el codigo funciona perfectamente pero lo que falla es la expresion regular, se cepilla todos los atributos que hay despues del alt cuando solo deberia de de cambiar el alt="", no domino mucho las expresiones regulares y no consigo encontrar la que solo afecte al alt="" y deje tranquilos a los atributos que siguen.

El codigo es el siguiente:

Código PHP:
<?php

function callback($buffer)
{
    
$pattern '/alt="(.*)"/';
    
$replacement'alt="ALT CAMBIADO"';
    return (
preg_replace($pattern$replacement$buffer));
}

ob_start("callback");

?>
<html>
<body>
<img alt="blabla" src="text.png" style="estilo">
</body>
</html>

<?php ob_end_flush(); ?>
Alguien me echa una mano?, gracias de ante mano :P
  #2 (permalink)  
Antiguo 26/05/2010, 07:53
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Problema con expresion regular

claro por que la expresion deberia ser algo como
Código PHP:
Ver original
  1. $pattern = '/alt=["\'].*?["\']/';

si te funciona te digo por que es asi :P
saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 27/05/2010, 02:48
 
Fecha de Ingreso: abril-2009
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema con expresion regular

Cita:
Iniciado por Hidek1 Ver Mensaje
claro por que la expresion deberia ser algo como
Código PHP:
Ver original
  1. $pattern = '/alt=["\'].*?["\']/';

si te funciona te digo por que es asi :P
saludos!
Funciona!!, muchas gracias!!.

Ahora dime por que es así, aver si aprendo un poco de regexp :P.

Saludos!

Etiquetas: expresion, regular
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:05.