【发布时间】:2015-08-04 03:33:49
【问题描述】:
我有一个关于正则表达式专家的简单问题。是的......我在此处发布之前确实尝试了正则表达式的几种不同变体。原谅我对正则表达式的无知。这是针对 PHP 的。
我有以下 HTML:
<div>
<h4>
<a href="somelink.html">some text blah</a>
</h4>
I need this text<br />I need this text too.<br />
</div>
<div>
<h4>
<a href="somelink.html">some text blah</a>
</h4>
I need this text<br />I need this text too.<br />
</div>
<div>
<h4>
<a href="somelink.html">some text blah</a>
</h4>
I need this text<br />I need this text too.<br />
</div>
我尝试过的似乎最有可能奏效的方法:
preg_match_all('/<div><h4><a href=".*">.*<\/a><\/h4>(.*)<br \/>(.*)<br \/>/', $haystack, $result);
上面没有返回任何内容。
然后我尝试了这个,我得到了第一个匹配的组,但我没能得到第二个。
preg_match_all('/<div><h4><a href=".*">.*<\/a><\/h4>(.*)<br \/>/', $haystack, $result);
谢谢!
【问题讨论】:
-
.*不会匹配没有the/smodifier 的换行符。 -
DOMXPath,//div/text()[preceding-sibling::h4] -
添加了多个重复行。