Home  >  Article  >  Backend Development  >  Summary of usage based on simple_html_dom_PHP tutorial

Summary of usage based on simple_html_dom_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:01:50945browse

Copy code The code is as follows:

简单范例
$html = file_get_html('http://www.google.com/'); //获取html$dom = new simple_html_dom(); //new simple_html_dom对象$dom->load($html)      //加载html// Find all images foreach($dom->find('img') as $element) {   //获取img标签数组       echo $element->src . '
';    //获取每个img标签中的src}// Find all links foreach($dom->find('a') as $element){    //获取a标签的数组       echo $element->href . '
';    //获取每个a标签中的href}


$html = file_get_html('http://slashdot.org/');   //获取html$dom = new simple_html_dom();    //new simple_html_dom对象$dom->load($html);     //加载html// Find all article blocksforeach($dom->find('div.article') as $article) {       $item['title']     = $article->find('div.title', 0)->plaintext; //plaintext 获取纯文本    $item['intro']    = $article->find('div.intro', 0)->plaintext;    $item['details'] = $article->find('div.details', 0)->plaintext;    $articles[] = $item;}print_r($articles);

}


// Create DOM from string

$html = str_get_html('

Hello
World
');
$dom = new simple_html_dom();     //new simple_html_dom对象

$dom->load($html);      //加载html
$dom->find('div', 1)->class = 'bar';    //class = 赋值 给第二个div的class赋值

$dom->find('div[id=hello]', 0)->innertext = 'foo';   //innertext内部文本

echo $dom;

// Output:

foo
World

DOM methods & properties
Name Description
void __construct ( [string $filename] ) constructor, the file name parameter will be automatically loaded Content, whether text or file/url.
string plaintext plain text
void clear () clear memory
void load ( string $content ) load content
string save ( [string $filename] ) Dumps the internal DOM tree back into a string. If the $filename is set, result string will save to file.
void load_file ( string $filename ) Load contents from a from a file or a URL.
void set_callback ( string $function_name ) Set a callback function.
mixed find ( string $selector [, int $index] ) finds the CSS selector of the element. Returns the nth element object if index is set, otherwise returns an array object.


4. Detailed introduction to find method


find ( string $selector [, int $index] )
// Find all anchors , returns an array of element objects a tag array
$ret = $html->find('a');

// Find (N)th anchor, returns element object or null if not found (zero based)The first a tag
$ret = $html->find('a', 0);

// Find lastest anchor, returns element object or null if not found (zero based)The last a tag
$ret = $html->find('a', -1);

// Find all < div> with the id attribute
$ret = $html->find('div[id]');

// Find all

which attribute id=foo
$ret = $html->find('div[id=foo]');


// Find all element which id=foo
$ret = $ html->find('#foo');

// Find all element which class=foo
$ret = $html->find('.foo');< ;/P>

// Find all element has attribute id
$ret = $html->find('*[id]');

// Find all anchors and images a tag and img tag array
$ret = $html->find('a, img');

// Find all anchors and images with the "title" attribute
$ret = $html->find('a[title], img[title]');


// Find all

  • in < ul>
    $es = $html->find('ul li'); li tag array under ul tag

    // Find Nested

    tags
    $ es = $html->find('div div div'); div tag under div tag div tag array

    // Find all in

    which class= hello
    $es = $html->find('table.hello td'); td tag array under table tag

    // Find all td tags with attribite align=center in table tags
    $es = $html->find(''table td[align=center]');

    5.Element method
    $e = $html-> ;find("div", 0); //The methods owned by $e are as shown in the following table
    Attribute Name Usage
    $e->tag tag
    $e->outertext foreign text
    $e->innertext inner text
    $e->plaintext plain text

    // Example
    $html = str_get_html( "

    foo bar
    ");
    echo $e->tag; // Returns: " div"
    echo $e-> outertext; // Returns: "
    foo bar
    "
    echo $e->innertext; // Returns: " foo bar< /b>"
    echo $e->plaintext; // Returns: " foo bar"

    6.DOM traversing method
    Method Description
    mixed$e-> ;children ( [int $index] ) child element
    element$e->parent () parent element
    element$e->first_child () first child element
    element$e-> ;last_child () The last child element
    element$e->next_sibling () The next sibling element
    element$e->prev_sibling () The previous sibling element


    // Example
    echo $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;
    // or
    echo $html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id') ;


    www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327967.htmlTechArticleCopy the code as follows: P Simple example?phpinclude "simple_html_dom.php";//Load the simple_html_dom.php file $ html = file_get_html('http://www.google.com/');//Get html$dom = new...
    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn