ホームページ  >  記事  >  バックエンド開発  >  phpはHTMLを解析します

phpはHTMLを解析します

WBOY
WBOYオリジナル
2016-06-23 13:56:061200ブラウズ

PHP Simple HTML DOM パーサーは、明らかに、サーバー側の jquery と同様の方法で dom を検索および変更できる数少ない HTML ファイル解析ツールの 1 つです。現在、このパーサーは PHP5 をサポートしています。

ただし、これは最初に HTML タグを解析するため、多くのメモリを消費します。より複雑な HTML ファイルを解析する場合、同時実行性が高い現在では、10M を超えるメモリも消費します。これは許容できません。

5 つ、10 つ以上のドキュメントをロードする場合は、1 つを使用した後にメモリをクリアしてください:

<?php$html->clear();?>

興味のある友人は、プロジェクトのアドレス http://simplehtmldom にアクセスしてください。

この分析の中国語マニュアルのオンライン アドレスは、http://www.ecartchina.com/php-simple-html-dom/manual.htm です。

CSDN のオフライン バージョンにアップロードすることもできます:


この記事では、同様の div 検索および変更方法を説明します:

<?phplibxml_use_internal_errors(true) ;$doc = new DOMDocument();// We don't want to bother with white spaces$doc->preserveWhiteSpace = false;$doc->loadHTMLFile("testdoc.html");$xpath = new DOMXPath($doc);//查找带aconf_edit_section的div元素$query = '//div[@aconf_edit_section]';//$entries = $xpath->query($query);$entries=$xpath->query($query);foreach ($entries as $entry) {    //echo  " {$entry->nodeValue}<br/>";    print_r($entry);}// $rs = $dom->getElementById("test");// echo $rs->nodeValue;//   print_r($entries->save('xxx.html'));function domNodeList_to_string($DomNodeList) {   $output = '';   $doc = new DOMDocument;   $i=0;   while ( $node = $DomNodeList->item($i) ) {       // import node       $domNode = $doc->importNode($node, true);       // append node       $doc->appendChild($domNode);       $i++;   }   $output = $doc->saveXML();   $output = print_r($output, 1);   // I added this because xml output and ajax do not like each others   //$output = htmlspecialchars($output);   return $output;}echo domNodeList_to_string($entries);?>



http://hi.baidu 。 com/tdweb/item/ac6e00ed831dbc3a87d9de2e

PHP DOMXpath クエリ式の詳細な説明:

http://blog.csdn.net/wmsjlihuan/article/details/9000790


XPath 構文


http://www 。 w3school.com.cn/xpath/xpath_syntax.asp


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。