实际上我正在使用simple_html_dom解析器来解析html页面。然后做了一些修改。现在想在我的页面中显示。
$page = file_get_html($url);
foreach($page->find('div#someDIv') as $e) {
$e->style = 'display:none;';
}
foreach($page->find('td#Something') as $e) {
$e->style = 'display:none;';
}
foreach($page->find('td#Something2') as $e) {
$e->style = 'display:none;';
}
$page->save();
?>
现在我回应并展示它,
<?php echo $page; ?>
内容显示正常,但我看到一些java脚本错误导致我的剩余脚本无法执行。
我看到的错误是
未捕获的SyntaxError:无效或意外的令牌
未捕获的SyntaxError:意外的输入结束
这些错误在我echo $page
是否有更好的方式来显示内容,以便可以防止这些错误,并且可以执行它下面的javascript。
答案 0 :(得分:0)
PHP有自己的类来处理HTML dom,称为DOMDocument。 你的例子:
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
要查找dom元素,请使用XPath
$xpath = new DOMXpath($doc);
$elements = $xpath->query("*/td[@id='Something']");
if (!is_null($elements)) {
foreach ($elements as $element) {
$element.setAttribute('style','display: none;');
}
}
echo $doc->saveHTML();