私はHTMLの大きな塊を持っています。
これとともに:
~<div>(?:.*?)<a[\s]+[^>]*?href[\s]?=[\s"\']+(#_ftnref([0-9]+))["\']+.*?>(?:[^<]+|.*?)?</a>(.*?)</div>~si
私はこれをキャプチャしています:
<div> </div><hr align="left" size="1" width="33%" /><div><p><a title="" href="#_ftnref1">[1]</a> This is not to suggest that there are only two possible arguments to be made in support of blah blah <em>blah</em>.</p></div>
だが!これ欲しい:
<div><p><a title="" href="#_ftnref1">[1]</a> This is not to suggest that there are only two possible arguments to be made in support of blah blah <em>blah</em>.</p></div>
手伝ってくれますか?
PS: (?: )
とは対照的に( )
、テキストのキャプチャを回避するために使用されます。返される$matches配列が、この投稿で言及されていないいくつかの異なる正規表現に対して一貫しているようにしたいので、私は意図的にこれを行っています。