Simple_HTML_Dom非常适合抓取特定标签中的内容,但我不确定在抓取文本时如何做除了基础之外的任何事情。这是我正在搜索的代码的示例:
<span>
Some code stuff.
</span>
FirstWord: 88
<span>
More code stuff.
</span>
如您所见,FirstWord和88未包含在任何类型的标记中。这使他们很难抓住。不过这是一个问题:FirstWord将永远是相同的 - 只有数字变化。
所以,我的想法是简单地告诉Simple_HTML_Dom抓住紧跟FirstWord的数字。问题是我不知道如何做到这一点。
非常感谢任何帮助。
答案 0 :(得分:1)
preg_match_all('/FirstWord:\s?([0-9]+)/', $input, $matches);
print_r($matches);
答案 1 :(得分:0)
你可以使用消除过程,假设你的html看起来像这样..
<html>
<head></head>
<body>
<span>Some code stuff.</span>
FirstWord: 88
<span>More code stuff.</span>
</body>
</html>
您可以遍历所有子元素(在本例中为<span>
元素),并将其html设置为空字符串。这将使您只剩下'FirstWord:88'。
foreach($html->find('body', 0)->children() as $child){
$child->outertext = "";
}
echo $html;
// Output:
// FirstWord: 88