私は、任意の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のためにそれを必要とします)。
なぜですか? 役立つカスタムregex_replace関数を使ってmysqlテーブルの列(純粋なMySQLを使用)で空のアンカーを削除する必要があります。正直なところ、これを実現するための良い方法はわかりません。 MySQL UpdateXML
は一度に複数のマッチでは機能しません。
[正規表現でHTMLを解析しないでください](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) – Bohemian
私は、htmlコードを含むフィールドを持つmysqlテーブルを検索し、空のアンカーを純粋なMySQLに置き換える必要があります。あなたは他の方法を知っていますか? – acme
HTMLを正規表現で解析しようとすると悲しみにつながります。 –