¿Qué pasa algo como esto, teniendo en cuenta que puede ser que desee volver a utilizarlo con otros href
s:
$str = '<a href="link.html">text</a>';
$result = preg_replace('#(<a[^>]*>).*?(</a>)#', '$1$2', $str);
var_dump($result);
, que pueden ayudarle:
string '<a href="link.html"></a>' (length=24)
(¿Considero que cometió un error tipográfico en el PO?)
Si no es necesario para que coincida con cualquier otro href, podría utilizar algo como:
$str = '<a href="link.html">text</a>';
$result = preg_replace('#(<a href="link.html">).*?(</a>)#', '$1$2', $str);
var_dump($result);
que también conseguirá:
string '<a href="link.html"></a>' (length=24)
Como nota al margen: para HTML más complejo, no intente utilizar expresiones regulares: funcionan bien para este tipo de situación simple, pero para una porción de HTML de la vida real, realmente no ayudan, en los géneros l: HTML no es lo suficientemente "regular" como para ser analizado por los regexes.
Mientras esto funciona, generalmente no desea analizar HTML con expresiones regulares. La respuesta de Karim podría ser preferible. – Konerak