>  기사  >  php教程  >  使用php simple html dom parser解析html标签

使用php simple html dom parser解析html标签

WBOY
WBOY원래의
2016-06-13 10:53:441008검색

 

 

使用php simple html dom parser解析html标签

用了一下

PHP Simple HTML DOM Parser 

解析HTML页面,感觉还不错,它能创建一个DOM tree方便你解析html里面的内容。用来抓东西挺好的。

 

附带一个例子,你也到sourceforge下载压缩包看里面的例子:

Scraping data with PHP Simple HTML DOM Parser 

 

PHP Simple HTML DOM Parser , written in PHP5+, allows you to manipulate HTML in a very easy way. Supporting invalid HTML, this parser is better then other PHP scripts using complicated regexes to extract information from web pages.

Before getting the necessary info, a DOM should be created from either URL or file. The following script extracts links & images from a website:

view plain copy to clipboard print ? 

 

Php代码 // Create DOM from URL or file    

$html = file_get_html('http://www.microsoft.com/');    

   

// Extract links    

foreach($html->find('a') as $element)    

       echo $element->href . '
';     

   

// Extract images    

foreach($html->find('img') as $element)    

       echo $element->src . '
';  

[php] 

// Create DOM from URL or file   

$html = file_get_html('http://www.microsoft.com/');  

// Extract links   

foreach($html->find('a') as $element)  

       echo $element->href . '
';   

// Extract images   

foreach($html->find('img') as $element)  

       echo $element->src . '
';  

 

// Create DOM from URL or file

$html = file_get_html('http://www.microsoft.com/');

// Extract links

foreach($html->find('a') as $element)

       echo $element->href . '
'; 

// Extract images

foreach($html->find('img') as $element)

       echo $element->src . '
';

The parser can also be used to modify HTML elements:

view plain copy to clipboard print ? 

 

Php代码 // Create DOM from string    

$html = str_get_html('

Simple
Parser
');    

   

$html->find('div', 1)->class = 'bar';    

   

$html->find('div[id=simple]', 0)->innertext = 'Foo';    

   

// Output:

Foo
Parser
   

echo $html;  

[php] 

// Create DOM from string   

$html = str_get_html('

Simple
Parser
');  

$html->find('div', 1)->class = 'bar';  

$html->find('div[id=simple]', 0)->innertext = 'Foo';  

// Output:

Foo
Parser
  

echo $html;  

 

// Create DOM from string

$html = str_get_html('

Simple
Parser
');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=simple]', 0)->innertext = 'Foo';

// Output:

Foo
Parser

echo $html;

Do you wish to retrieve content without any tags?

view plain copy to clipboard print ? 

 

Php代码 echo file_get_html('http://www.yahoo.com/')->plaintext;  

[php] 

echo file_get_html('http://www.yahoo.com/')->plaintext;  

 

echo file_get_html('http://www.yahoo.com/')->plaintext;In the package files of this parser ([url]http://simplehtmldom.sourceforge.net/[/url]) you can find some scraping examples from digg, imdb, slashdot. Let’s create one that extracts the first 10 results (titles only) for the keyword “php” from Google:

view plain copy to clipboard print ? 

 

Php代码 $url = 'http://www.google.com/search?hl=en&q=php&btnG=Search';    

   

// Create DOM from URL    

$html = file_get_html($url);    

   

// Match all 'A' tags that have the class attribute equal with 'l'    

foreach($html->find('a[class=l]') as $key => $info)    

{    

echo ($key + 1).'. '.$info->plaintext."
\n";    

}  

[php] 

$url = 'http://www.google.com/search?hl=en&q=php&btnG=Search';  

// Create DOM from URL   

$html = file_get_html($url);  

// Match all 'A' tags that have the class attribute equal with 'l'   

foreach($html->find('a[class=l]') as $key => $info)  

{  

echo ($key + 1).'. '.$info->plaintext."
\n";  

}  

 

$url = 'http://www.google.com/search?hl=en&q=php&btnG=Search';

// Create DOM from URL

$html = file_get_html($url);

// Match all 'A' tags that have the class attribute equal with 'l'

foreach($html->find('a[class=l]') as $key => $info)

{

echo ($key + 1).'. '.$info->plaintext."
\n";

}NOTE Make sure to include the parser before using any functions of it:

view plain copy to clipboard print ? 

Php代码 

include 'simple_html_dom.php';  

[php] 

include 'simple_html_dom.php';  

 

include 'simple_html_dom.php';For more information regarding the usage of this function consider checking the ‘PHP Simple HTML Dom Parser’ Manual. To download the package files use the following URL: [url]

分享到: 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.