本地服务器上的 PHP 简单 HTML DOM 解析器

Posted

技术标签:

【中文标题】本地服务器上的 PHP 简单 HTML DOM 解析器【英文标题】:PHP Simple HTML DOM Parser on a local server 【发布时间】:2019-05-17 00:31:59 【问题描述】:

可能导致“php 简单 html DOM 解析器”在本地服务器上无法工作的原因。会不会是配置问题?

PHP 版本 7.2.12

<?php

include('simple_html_dom.php');

$html = file_get_contents('http://www.google.com/');
$html->load($html);

?>

给出以下错误:

致命错误:未捕获的错误:调用成员函数 load() on string in ..... Stack trace: #0 main throw in ..... on line .....

【问题讨论】:

试试file_get_html而不是file_get_contents 您试图调用load$html 方法,即字符串 【参考方案1】:

阅读manual(这始终是一个选项)表明load 函数在simple html dom 的实例上被调用

// Create a DOM object
$html = new simple_html_dom();

// Load HTML from a string
$html->load('<html><body>Hello!</body></html>');

所以,你的代码应该改写为:

$html = new simple_html_dom();
$html->load(file_get_contents('http://www.google.com/'));

作为旁注 - 还有 更多 方法可以将内容加载到 simple_html_dom,例如 file_get_htmlstr_get_html

【讨论】:

以上是关于本地服务器上的 PHP 简单 HTML DOM 解析器的主要内容,如果未能解决你的问题,请参考以下文章

将 HTML DOM 保存到服务器上的文件

最快最简单的部署本地Apache+PHP+MySQL神器USBWebserver(转)

PHP 使用PHP解压缩服务器上的ZIP FILE FOLDER - 最短的代码。

PHP 用于上载ZIP文件并将其解压缩到服务器上的脚本

当表单在本地服务器上正常工作时,为啥表单中的数据没有发布到主机服务器上的 PHP 文件?

缓存 PHP 简单 HTML DOM 解析器