我目前正在将 PHPCrawler 用于网站上的某些搜索功能。我需要从索引中删除一些页面元素。
例如,我使用过:
$doc_body = preg_replace('/<li>(.*?)<\/li>/is', "", $doc_body);
删除列表,因为我不希望结果中的列表。这完全可以正常工作。
现在,我需要删除的另一件事如下:
<div class="example">all contents within</div>
所以为此我尝试过:
$doc_body = preg_replace('/<div(.*?)class="(.*?)example(.*?)"(.*?)>(.*?)<\/div>/is', "", $doc_body);
这会产生错误,因为可能并非每个页面都有 div 类示例。因此,我使用以下代码对其进行了调整:
if(strpos($doc_body,'<div class="example">')){
$doc_body = preg_replace('/<div(.*?)class="(.*?)example(.*?)"(.*?)>(.*?)<\/div>/is', "", $doc_body);
}
不幸的是,这也不起作用!它不会产生错误,但不会从结果中删除所有内容。
这是我第一次使用 phpcrawler 或 Domdocument ......虽然我不确定我的问题是否与他们有关?