实际上我正在使用 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 脚本错误,这导致我剩余的脚本无法执行。
我看到的错误是
Uncaught SyntaxError: Invalid or unexpected token
Uncaught SyntaxError: Unexpected end of input
这些错误位于我echo $page
的行
有没有更好的方法来显示内容,以便可以防止这些错误并可以执行其下面的 javascript。
最佳答案
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();
关于javascript - 在 PHP 变量中存储 html 页面、解析并显示它的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46974767/