Pages

14 December, 2020

How do you parse and process HTML/XML in PHP?

    <?php



    How do you parse and process HTML/XML in PHP?

    Examples:
    
    How to get HTML elements:
    // Create DOM from URL or file
    $html = file_get_html('http://www.example.com/');
    
    // Find all images
    foreach($html->find('img'as $element)
            echo $element->src . '<br>';
    
    // Find all links
    foreach($html->find('a'as $element)
            echo $element->href . '<br>';
    
    
    How to modify HTML elements:
    // Create DOM from string
    $html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');
    
    $html->find('div'1)->class = 'bar';
    
    $html->find('div[id=hello]'0)->innertext = 'foo';
    
    echo $html;
    
    
    Extract content from HTML:
    // Dump contents (without tags) from HTML
    echo file_get_html('http://www.google.com/')->plaintext;
    
    
    Scraping Slashdot:
    // Create DOM from URL
    $html = file_get_html('http://slashdot.org/');
    
    // Find all article blocks
    foreach($html->find('div.article'as $article) {
        $item['title']     = $article->find('div.title'0)->plaintext;
        $item['intro']    = $article->find('div.intro'0)->plaintext;
        $item['details'= $article->find('div.details'0)->plaintext;
        $articles[] = $item;
    }
    
    print_r($articles);

No comments:

Post a Comment

Thanks