校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識(shí)庫 > PHP xpath提取網(wǎng)頁數(shù)據(jù)內(nèi)容代碼解析

PHP xpath提取網(wǎng)頁數(shù)據(jù)內(nèi)容代碼解析

熱門標(biāo)簽:如何在世界地圖標(biāo)注 梧州市機(jī)器人外呼系統(tǒng)怎么樣 地圖標(biāo)注符號(hào)樣式有 公司外呼系統(tǒng)中心 臨沂crm外呼系統(tǒng)平臺(tái) 天客通地圖標(biāo)注 菏澤語音外呼系統(tǒng)運(yùn)營商 電子地圖標(biāo)注怎么修改 廈門400電話辦理選易號(hào)網(wǎng)

想要使用xpath來解析html內(nèi)容, PHP自帶兩個(gè)對象

DOMDocument,DOMXpath,其中初始化 loadHtml一般都會(huì)報(bào)很多警告,但是并不影響使用,用@屏蔽錯(cuò)誤。

  /**
   * 初始化DOMXpath對象
   *
   * @param [type] $content 網(wǎng)頁內(nèi)容
   * @param [array] $pathinfo 匹配信息
   *
   * @return void
   */
  private function _createXpathObj($content, $patinfo)
  {
    // 如果沒有xpath配置項(xiàng),不初始化xpath
    if (!$this->_existsXpathParse($patinfo)) {
      return;
    }
    try {
      $dom = new \DOMDocument();
      @$dom->loadHtml($content);
      $dom->normalize();
      $xpath = new \DOMXpath($dom);
      $this->xpathObj = $xpath;
    } catch (\Exception $e) {
      getService('logger')->warning('Parse html fail', ['content' => $content]);
    }
  }

其中 $node 為 DOMElement 對象。

  /**
   * 獲取Xpath解析值
   *
   * @param [type] $pat 匹配模式
   *
   * @return string
   */
  private 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; 
      # 作為示例 輸出文本不含標(biāo)簽
      //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($innerHTML);    
?>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP操作XML中XPath的應(yīng)用示例
  • php用xpath解析html的代碼實(shí)例講解
  • PHP xpath()函數(shù)講解
  • PHP registerXPathNamespace()函數(shù)講解
  • PHP使用xpath解析XML的方法詳解
  • php+xml編程之xpath的應(yīng)用實(shí)例
  • php XPath對XML文件查找及修改實(shí)現(xiàn)代碼

標(biāo)簽:迪慶 瀘州 貴陽 郴州 黃石 白城 雞西 綿陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP xpath提取網(wǎng)頁數(shù)據(jù)內(nèi)容代碼解析》,本文關(guān)鍵詞  PHP,xpath,提取,網(wǎng)頁,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP xpath提取網(wǎng)頁數(shù)據(jù)內(nèi)容代碼解析》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP xpath提取網(wǎng)頁數(shù)據(jù)內(nèi)容代碼解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 陈巴尔虎旗| 临沧市| 广平县| 卓尼县| 五家渠市| 秦皇岛市| 炎陵县| 尼勒克县| 涞水县| 汽车| 清徐县| 兴国县| 梁山县| 保山市| 肇州县| 额济纳旗| 石门县| 海口市| 永胜县| 新宾| 纳雍县| 张家口市| 启东市| 化隆| 兰溪市| 滨海县| 晋城| 奉新县| 河曲县| 贵阳市| 河南省| 米林县| 古交市| 三江| 鞍山市| 古田县| 土默特右旗| 靖西县| 枣阳市| 九龙县| 双桥区|