]*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
'@?((address)|(blockquote)|(center)|(del))@iu',
'@?((div)|(h[1-9])|(ins)|(isindex)|(p)|(pre))@iu',
'@?((dir)|(dl)|(dt)|(dd)|(li)|(menu)|(ol)|(ul))@iu',
'@?((table)|(th)|(td)|(caption))@iu',
'@?((form)|(button)|(fieldset)|(legend)|(input))@iu',
'@?((label)|(select)|(optgroup)|(option)|(textarea))@iu',
'@?((frameset)|(frame)|(iframe))@iu',
"/\s\s+/"
),
array(
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
"\n\$0", "\n\$0", "\n\$0", "\n\$0", "\n\$0", "\n\$0",
"\n\$0", "\n\$0", " "
),
strip_tags(html_entity_decode(trim($this->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();
?>