PHP Html Dom/解析器

发布于 2024-11-19 12:37:45 字数 447 浏览 0 评论 0原文

i) 我需要使用 php 从 html 页面中提取一些元素。

ii) 我正在使用 html dom 解析器。

iii) 我已经能够提取所有 ****s、****s、**

  • **s 等。
  • iv)我应该如何

    **<td class = ""><a href = "">ABC</a></td>**
    

    使用href提取Anything中包含的类型/元素,即href的属性

    注意: 我需要提取ABC

    i) I need to extract few elements from a html page using php.

    ii) Am using html dom parser.

    iii) I have been able to extract all **<a>**s, **<b>**s, **<li>**s, etc.

    iv) How should I be able to extract elements of the type/enclosed within

    **<td class = ""><a href = "">ABC</a></td>**
    

    Anything using href, i.e. property of href

    Note: I need to extract ABC

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(2

    反话 2024-11-26 12:37:45

    这可能不是您正在寻找的答案,但是,我之前使用过 phpquery,并发现它是完成此类工作的绝佳工具。

    http://code.google.com/p/phpquery/

    This might not be the answer you are looking for but, I have worked with phpquery before and found it to be a great tool to do that kind of work.

    http://code.google.com/p/phpquery/

    老街孤人 2024-11-26 12:37:45

    使用 DOM 解析器您将无法获得整个结构。

    为此,您应该使用 getAttribute() 方法。 检查此处

    这也是一个简单的示例

    $markup = file_get_contents($someplace);
    $dom = new DomDocument();
    $dom -> loadHTML($markup);
    $tds = $dom -> getELementsByTagName("td");
    foreach($tds as $td) {
        echo $td -> getAttribute("class");
    }
    

    You will not get the entire structure using the DOM Parser.

    You should use getAttribute() method for that purpose. Check here

    Here is a simple example also

    $markup = file_get_contents($someplace);
    $dom = new DomDocument();
    $dom -> loadHTML($markup);
    $tds = $dom -> getELementsByTagName("td");
    foreach($tds as $td) {
        echo $td -> getAttribute("class");
    }
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文