我试图创建一个preg_匹配,在HTML文档中查找一系列标记。
HTML示例:
html lang-html prettyprint-override"><div class="importantclass">
<p>some thing</p>
<p>some more things</p>
</div>
<div class="importantclass">
<b>some text</b>
<p>NEEDLE</p>
</div>
我需要找到带有div class=“importantclass”的标签和一个包含特定指针文本的后续p标签的组合。
然后我需要返回开始div类的位置。注意:我不想获得匹配,因为importantclass div第一次出现。
有没有可能不使用DOM而只使用regexp来实现这一点?
谢谢你的提示!
这对你有用吗?
<?php
$html = <<< LOB
<div class="importantclass">
<p>some thing</p>
<p>some more things</p>
</div>
<div class="importantclass">
<b>some text</b>
<p>FIND ME</p>
</div>
LOB;
$needle = "FIND ME";
preg_match_all('%(<div.*?class="importantclass">.*?</div>)%sim', $html, $matches, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($matches[1]); $i++) {
if (preg_match("%<p>$needle</p>%im", $matches[1][$i])) {
echo "MATCH FOUND!<br>";
echo "POSITION $i<br>";
echo htmlentities( $matches[1][$i]);
}
}
演示
问题内容: 我可以使用BS轻松遍历通用标签,但是我不知道如何查找特定标签。例如,我怎么能找到所有的出现?BS可以吗? 问题答案: 以下应该工作 有两种搜索标签的方法。 http://www.crummy.com/software/BeautifulSoup/documentation.html 有关更多文本的理解和使用 http://lxml.de/elementsoup.html
问题内容: 我有以下数据: 对于每组记录(按ParentID分组),我想查找所有没有包含“ A”作为数据值的记录的组。 由于第1组和第6组确实包含至少一个以“ A”作为数据值的记录,因此我不希望看到它们。我只想查看记录4和5(它们是组4的一部分),因为该组中没有记录带有“ A”。 任何帮助是极大的赞赏! 问题答案: 如果表很大,建议建立索引。
问题内容: 我不知道如何在下面编写查询。 我的桌子是 我需要在col2中同时存在两个参数的地方选择不同的col1 id。例如。如果我发送6,7应该发送给我5 问题答案: 尝试:
我正试图用漂亮的汤刮一个汇合页的身体。当使用Confluence API时,我会得到以下正文(这只是其中的一部分): 我已经搜索了我的屁股,但不知何故,我似乎不明白如何搜索一个段落与特定的文本。 另一件我认识但不明白的事情是:当我使用:搜索所有段落时,我会找到该段落,但它包含了所有子元素的所有文本,因此段落文本如下所示:“System Status:GreenIN Operation”
我只需要帮助替换alt标签中的-(而不是代码/html的其余部分)。 错误:alt=“允许滚筒干燥” 良好:alt=“允许滚筒干燥” 我使用的是ATOM,而REGEXP教程对我来说是陌生的。(看起来很奇怪) 任何帮助都将不胜感激。 最终,我也会瞄准标题标签,但我需要一个领先的开始
我要提取的数据来自这个网站https://www.adobe.com/support/security/advisories/apsa11-04.html。我只想提取 发布日期:2011年12月6日最后更新:2012年1月10日漏洞标识符:APSA11-04 CVE编号:CVE-2011-2462 代码: 输出: 我不想要这些信息。我该如何过滤呢? 平台:全部*注意:Adobe Reader fo