javascript - 在 PHP 变量中存储 html 页面、解析并显示它的正确方法

标签 javascript php html simple-html-dom

实际上我正在使用 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。

更新: 我在这里看到错误, enter image description here

最佳答案

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/

相关文章:

php - 通过多用户网页重复执行linux程序而不崩溃

html - CSS 前面的三个句号

html - CSS-所有 :hover event elements should be #fff text color

javascript - 如何使用jquery在鼠标点击时显示列表?

javascript - 在浏览器中有没有办法找出页面当前是否可见?

php - 从根目录检查文件是否存在

php - Laravel 发送默认邮件(不带 SMTP)

Java 解析器 HTML 使用纯字符串方法?

javascript - 如何解析 multer 返回的 javascript 对象?

javascript - 如何使用 angular.bootstrap 引导 Angular 应用程序后手动初始化 Controller ?