Я ищу регулярное выражение, которое находит все пустые теги привязки в любой HTML-строке. «Пустой» означает отсутствие текстового узла внутри себя или в любом из его дочерних элементов.
Например, они должны быть найдены:
<p>abc<a href="http://foo.com"></a>def</p>
<p>abc<a href="http://foo.com"><span></span></a>def</p>
<p>abc<a href="http://foo.com"><span><b></b></span></a>def</p>
И это не так:
<p>abc<a href="http://foo.com">Some text</a>def</p>
<p>abc<a href="http://foo.com"><span></span></a>def</p>
<p>abc<a href="http://foo.com">Some<span><b>Text</b></span></a>def</p>
Регулярное выражение должно быть POSIX-совместимым (оно мне нужно для MySQL).
Почему?
Мне нужно это, чтобы удалить пустые якоря в столбце таблицы mysql (с чистым MySQL) с помощью настраиваемой функции regex_replace, и, честно говоря, я не знаю лучшего способа добиться этого. MySQLs UpdateXML
не работает для нескольких совпадений одновременно.