Duda con expresión regular para eliminar enlaces
Publicado por Javier Alonso (4 intervenciones) el 11/10/2013 18:10:38
Muy buenas
Tengo una duda con una expresión regular para eliminar enlaces que espero me ayuden a resolver.
Pongo un ejemplo:
¿Cómo podría hacer para que la primera funcione?
Gracias de antemano
Tengo una duda con una expresión regular para eliminar enlaces que espero me ayuden a resolver.
Pongo un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
//tengo esta cadena
$cadena='<div><span><a href="#"><div><span>Enlace1</span></div></a><div>y dos</div><a href="#"><div><span>Enlace2</span></div></a><div>Fin</div></span></div>';
//esta expresión regular no funciona y devuelve la misma cadena
$cadena=preg_replace("~<a href=\"#\"[^</a>]*</a>~si","",$cadena);
echo$cadena."<hr />\n";
//si cambio </a> por un caracter cualquiera, por ejemplo @:
$cadena=str_replace("</a>","@",$cadena);
//si que funciona:
$cadena=preg_replace("~<a href=\"#\"[^@]*@~si","",$cadena);
//y restituyo los </a>
$cadena=str_replace("@","</a>",$cadena);
echo$cadena."<hr />";
¿Cómo podría hacer para que la primera funcione?
Gracias de antemano
Valora esta pregunta


0