我想不出一个合适的头衔.我有一些数据像 -
$data = <<<EOD
<strong>
HHHHH
<strong>
TTTTT
<strong>
RRRRRRR
<strong>
EOD;
Run Code Online (Sandbox Code Playgroud)
基本上只有一个例子.实际上,数据就像 -
<strong>Some Title</strong>
DATA
<strong>Some other Title</strong>
OTHER DATA
Run Code Online (Sandbox Code Playgroud)
示例:http://pastebin.com/cxzZWDZ8
现在我应用以下RegEx.
preg_match_all("%<strong>(.*?)<strong>%s", $data, $all);
Run Code Online (Sandbox Code Playgroud)
这符合,HHHHH并且RRRRRRR但是我想匹配TTTTT.我怎样才能做到这一点?
您可以使用前瞻断言来确保它<strong>在那里,但不是匹配的一部分(因此它可以是下一个匹配的一部分):
</strong>(.*?)(?=<strong>)
Run Code Online (Sandbox Code Playgroud)
但是,如果你得到的是HTML,你应该使用HTML解析器来读取它而不是正则表达式,这在解析HTML/XML标记方面很差.有了DOMDocument::loadHTML(),getElementsByName等等,你将有一个更可靠的方法来抓取页面数据.
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |