]*href=(\"??)\/wiki([^\" >]*?)\\1[^>]*>(.*)<\/a>/siU", $this->content, $urls)) { return $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. */ $this->content = preg_replace( array( // Remove invisible content '@]*?>.*?@siu', '@]*?>.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', '@]*?.*?@siu', // Add line breaks before and after blocks '@content)))) ); preg_match_all("/\w+/", $this->content, $words); return $words[0]; } function __construct($filename) { $this->filename = $filename; $this->content = file_get_contents($this->filename) or die('Could not access file: ' . $this->filename); print_r($this->urls()); print_r($this->words()); //while(1) { } } } $parse = new parse('http://en.wikipedia.org/wiki/Main_Page'); ?>