]*href=(\"??)\/wiki([^\" >]*?)\\1[^>]*>(.*)<\/a>/siU", $this->content, $urls)) { print_r($urls[2]); # $matches[2] = array of link addresses # $matches[3] = array of link text - including HTML code } } function words() { /** * Remove HTML tags, including invisible text such as style and * script code, and embedded objects. Add line breaks around * block-level tags to prevent word joining after tag removal. */ $text = preg_replace( array( // Remove invisible content '@]*?>.*?@siu', '@]*?>.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', // Add line breaks before and after blocks '@content))) ); if (preg_match_all("/\w+/", $this->content, $words)) { print_r($words); # $matches[2] = array of link addresses # $matches[3] = array of link text - including HTML code } } function __construct($filename) { $this->filename = $filename; $this->content = file_get_contents($this->filename) or die('Could not access file: ' . $this->filename); /* while(1) { } */ } } $parse = new parse('http://en.wikipedia.org/wiki/Main_Page'); $parse->urls(); $parse->words(); ?>