当前位置: 首页 > 知识库问答 >
问题:

file_get_contents():流不支持查找/PHP的行为是什么时候改变的?

江佐
2023-03-14

PHP的行为是什么时候改变的?

它是哪个PHP版本的?

file_get_contents():流不支持查找/simple_html_dom.php

警告:文件\u get\u contents():未能在/simple\u html\u dom的流中查找位置-1。php

include('parser/simple_html_dom.php');
$url = "https://en.wikipedia.org/wiki/Stack_Overflow";
$html = file_get_html($url);
if ($html !== false) {
  foreach($html->find('div#mw-content-text') as $item){
    $item->plaintext;
  }
}

共有3个答案

皇甫福
2023-03-14

您不需要编辑供应商文件。只需更改您的请求:

$html = HtmlDomParser::file_get_html( "https://www.google.com/");

致:

$html = HtmlDomParser::file_get_html( "https://www.google.com/", false, null, 0 );

问题是,当您希望它为“0”时,简单超文本标记语言DOM使用的默认偏移量为“-1”。幸运的是,它接受它作为参数,这意味着您可以轻松地更改它,而不需要更改简单的超文本标记语言DOM源。

注意:此兼容性问题已在v1.7中修复

秋向阳
2023-03-14

改变

function file_get_html(..., $offset = -1,...)

function file_get_html(..., $offset = 0,...)

在simple_html_dom.php

应瀚
2023-03-14

当我将页面从一个系统移动到另一个系统时,我的页面上也出现了同样的问题,我能够更改simple\uhtml\udom。php文件,通过删除偏移量引用(没有对我造成任何进一步的问题)。

simple\u html\u dom的第75行。php

$contents = file_get_contents($url, $use_include_path, $context, $offset);

我删除了对$偏移的引用:

$contents = file_get_contents($url, $use_include_path, $context);

不,我的页面很好用。不为任何其他损坏承担责任!:)

 类似资料:
  • 在研究将基元数组转换为流的方法时,我发现不支持,而支持其他基元数组类型。有什么特别的理由把他们排除在外吗?

  • 考虑以下两行代码: 对我来说,他们看起来很相似。但是,第二行被Java编译器(1.8)拒绝,消息是“不能推断SimpleFileVisitor的类型参数<>”。 谁能解释一下,有什么问题吗?

  • 本文向大家介绍为什么Java不支持<<相关面试题,主要包含被问及为什么Java不支持<<时的应答技巧和注意事项,需要的朋友参考一下 Java添加了运算符“ >>>”来执行逻辑右移,但是由于 逻辑和算术左移运算是相同的 ,因此Java中没有“ <<<”运算符。 来自Java的Shifts …

  • 问题内容: 在我用php开发的所有年份中,我一直都听说使用是邪恶的。 考虑以下代码,使用第二个(更优雅)的选项是否有意义?如果没有,为什么? 问题答案: 在将eval()称为纯邪恶时,我会保持谨慎。 动态评估是一个强大的工具,有时可以节省生命。使用eval()可以解决PHP的缺点(请参见下文)。 eval()的主要问题是: 潜在的不安全输入。 传递不受信任的参数是一种失败的方法。确保参数(或其一部

  • 问题内容: 我正在编写一些JavaScript代码来解析用户输入的功能(用于类似于电子表格的功能)。解析了公式之后,我 可以 将其转换为JavaScript并在其上运行以产生结果。 但是,如果能避免,我总是避免使用它,因为它是evil的(而且,无论对与错,我一直认为它在JavaScript中更为evil,因为要评估的代码可能会被用户更改)。 那么,何时可以使用它呢? 问题答案: 我想花点时间解决您

  • 我注意到一件奇怪的事情,显然Firefox说它支持HTTPS上的Brotli,但不支持HTTP?Brotli与gzip类似,但效率更高,为什么它会将其限制为HTTPS?在HTTPS选项卡上,我看到: 他被派去了。但在另一个网站上,我没有看到。为什么它不能做Brotli压缩HTTP?