Estoy tratando de usar regex para reemplazar el atributo fuente (podría ser imagen o cualquier etiqueta) en PHP.Regex para reemplazar el atributo html src en PHP
Tengo una cadena como esta:
$string2 = "<html><body><img src = 'images/test.jpg' /><img src = 'http://test.com/images/test3.jpg'/><video controls="controls" src='../videos/movie.ogg'></video></body></html>";
Y me gustaría convertirlo en:
$string2 = "<html><body><img src = 'test.jpg' /><img src = 'test3.jpg'/><video controls="controls" src='movie.ogg'></video></body></html>";
Heres lo que he intentado:
$string2 = preg_replace("/src=["']([/])(.*)?["'] /", "'src=' . convert_url('$1') . ')'" , $string2);
echo htmlentities ($string2);
Básicamente didn No cambies nada y me diste una advertencia sobre una cuerda sin esquivar.
¿No envía $1
el contenido de la cadena? Que esta mal aquí ?
Y la función de convert_url es un ejemplo de que he publicado aquí antes:
function convert_url($url)
{
if (preg_match('#^https?://#', $url)) {
$url = parse_url($url, PHP_URL_PATH);
}
return basename($url);
}
Se supone que se deben eliminar las rutas de URL y simplemente devolver el nombre de archivo.
la secuencia original y en lo que quiere convertir son cadenas vacías, ¿falta algo? – ametren
intenta reemplazar el "con \" – Mageek
Acabo de editarlo. – Ashesh