php - 如何使用 PHP Simple HTML DOM Parser 查找非超链接文本

标签 php dom

我想将 html 解析为一个 dom 树,并找到所有不在 <a> 内的文本标签,所以,我用谷歌搜索,找到了“PHP Simple HTML DOM Parser”。它似乎可以帮助我将 HTML DOM 解析为 DOM 树。我想找到不在 <a> 内的文本标签,但我只能找到 <a> 中的元素标签。 *ps: 目前还不支持CSS3 not selector。谢谢你。 有这方面的经验吗?谢谢你。

最佳答案

我希望我没有误解这个问题,但是你不能使用 PHP 的内置 DOM 函数来查找 <a> 中的文本吗?标签?

$doc = new DOMDocument();
$doc->loadHTMLFile("http://blahblah.com/blah.html");
$elem_list = $doc->getElementsByTagName("a");
foreach($elem_list as $elem)
    echo $elem->textContent;

<罢工>

在那种情况下,我会删除所有 <a>标记及其内容(例如使用正则表达式),然后将生成的 HTML 加载到您选择的 DOM 解析器中。

更新:更好的是,立即解析 HTML 并使用内置函数删除 <a>标签,或遍历所有标签并跳过 <a>标签。应避免使用带有 HTML 的正则表达式。

关于php - 如何使用 PHP Simple HTML DOM Parser 查找非超链接文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6743748/

相关文章:

dom - 如何通过 DOM 在 xml 文档中插入 schemalocation

java - 解析 XML 以获取深层嵌套数据

javascript - getElementsByTagName 不适用于我的 <a> 标签

php - MySQL 指定查询中的每一列而不是使用 SELECT *

php - 对 mysql 代码何时使用 PDO 进行注入(inject)证明感到困惑

php - 将 jQuery 与 PHP 相结合

javascript - 通过更改底层数组动态更新 dom-repeat 模板

javascript - ES6 类 : access to 'this' with 'addEventListener' applied on method

php - mysqli_real_escape_string 与 array_map

php - 为什么我要把密码做成哈希码,然后保存在数据库中?