Я пытаюсь превратить длинный список тестов запросов xpath в гораздо более сжатую функцию, и у меня возникают проблемы с запуском запросов xpath после получения из mysql.
Это сводит меня с ума, может кто-нибудь объяснить, где я иду не так, пожалуйста?
Пример таблицы MySQL:
CREATE TABLE `spidey_regex` (
`id` int(12) NOT NULL auto_increment,
`regexp` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
INSERT INTO `spidey_regex` (`id`, `regexp`) VALUES (1, '''//div[starts-with(@id, "stuff")]''');
Пример PHP-кода с использованием xpath:
<?php
$html = '<div id="stuff123"><a href="link1.html">Link 1</a><a href="#link">Link 2</a><a href="link2.html">Link 3</a></div>';
$cnt=0;
$dom = new DOMDocument();
@$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$xpath = new DOMXPath($dom);
$myresult = mysql_query("select * from spidey_regex",$db);
while($myrow = mysql_fetch_array($myresult)){
$regexp = stripslashes(trim($myrow[regexp]));
$result = $xpath->query($regexp); // use xpath with query from MySQL
foreach($result as $e){ $cnt++; }
if($cnt == '0'){
continue;
}
else {
echo "1. Got here!!";
}
}
?>