我一定是过于复杂了,但我无法为我的生活弄明白。
我有一个存储为字符串的标准 html 文档,我需要获取段落的内容。我会做一个例子。
$stringHTML=
"<html>
<head>
<title>Title</title>
</head>
<body>
<p>This is the first paragraph</p>
<p>This is the second</p>
<p>This is the third</p>
<p>And fourth</p>
</body>
</html>";
如果我使用
$regex='~(<p>)(.*)(</p>)~i';
preg_match_all($regex, $stringHTML, $newVariable);
我不会得到 4 个结果。相反,我会得到 10。我得到 10,因为正则表达式匹配第一个<p>
和第一个</p>
以及第一个<p>
和第四个</p>
如何在两个单词之间进行搜索,只返回每个段落之间的结果?