首页 > 作文

PHP xpath提取网页数据内容代码解析

更新时间:2023-04-08 22:05:58 阅读: 评论:0

想要使用xpath来解析html内容, php自带两个对象

domdocument,domxpath,其中初始化 loadhtml一般都会报很多警告,但是并不影响使用,用@屏蔽错误。

  /**   * 初始化domxpath对象   *   * @param [type] $content 网页内容   * @param [array] $pathinfo 匹配信息   *   * @return void   */  private function _createxpathobjdig过去式($content, $patinfo)  {    // 如果没有xpath配置项,不初始化xpath    if (!$this->_existsxpathpar($patinfo)) {      return;    }    try {      $dom = new \domdocument();      @$dom->loadhtml($content);      $dom->normalize();      $xpath = new \domxpath($dom);      $this->xpathobj = $xpath;    } catch (\exception $e) {      getrvice('logger')->warning('par html fail', ['content' => $content]);    }  }

其中 $node 为 domelement 对象。

  /**   * 获取xpath解析值   *   * @param [t新时代大学生ype] $pat 匹配模式   *   * @return string   */  pr政治试题ivate function _getxpathfield($pat)  {    $objs = $this->xpathobj->query($pat);    if ($objs->length > 0) {      $node = $objs->item(0);      $outerhtml = $node->ownerdocument->savehtml($node);      return trim($outerhtml);      # 作为示例 输出innerhtml      //$innerhtml = '';      //foreach ($node->childnodes as $childnode){      //   $innerhtml .= $childnode->ownerdocument->savehtml(那个秋天$childnode);      //}      //return $innerhtml;       # 作为示例 输出文本不含标签      //return $node->textcontent; //$node->nodevalue;    }    return '';  }

示例

<?php    $dom = new domdocument('1.0','utf-8');    $dom->loadhtml('<html><body><div><p>p1</p><p>p2</p></div></body></html>');        $node = $dom->getelementsbytagname('div')->item(0);        $outerhtml = $node->ownerdocument->savehtml($node);        $innerhtml = '';    foreach ($node->childnodes as $childnode){        $innerhtml .= $childnode->ownerdocument->savehtml($childnode);    }    echo '<h2>outerhtml: </h2>';    echo htmlspecialchars($outerhtml);    echo '<h2>innerhtml: </h2>';    echo htmlspecialchars($innerh最小奇数tml);    ?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-08 22:05:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/5618df7ad217370217eadd064c52cba9.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP xpath提取网页数据内容代码解析.doc

本文 PDF 下载地址:PHP xpath提取网页数据内容代码解析.pdf

标签:示例   初始化   对象   会报
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图