File_get_contents有时找不到文本



我是PHP新手,所以请友好点:)

file_get_contents有时能完成它的工作,有时不能。我已经建立了一个简单的url检查,如果它们存在,在网页上。但问题是,即使URL确实存在(手动检查源代码),file_get_contents和preg_match也找不到它。我不知道为什么。下面是代码:

$page = $URL_that_should_be_checked;
$checkurl = str_replace("/", "/", $checkurl);
$page = file_get_contents($userpage);
$checkurl = "/".$checkurl."/";
$report = preg_match($checkurl, $page);

非常感谢!

试试这个:

$page = file_get_contents($userpage);
$report = preg_match('/' . preg_quote($checkurl) . '/', $page);

很难理解你的代码。

您是否检查了文档页面并注意到特殊字符可能需要使用urlencode()函数进行编码?

在这行$checkurl = str_replace("/", "/", $checkurl);中,变量$checkurl似乎没有定义。

在这一行$userpage似乎没有被定义。在您提供的代码中只定义了$page

看起来你做了很多工作来设置preg_match和$report它的值。在这个过程中为什么需要获取页面还不清楚。

还有,你是否将allow_url_fopen设置为true?您是否收到任何错误消息?

您应该使用PHP函数preg_quote将URL解析为preg_match函数。例子:

$checkurl = preg_quote($checkurl);

见:http://php.net/manual/de/function.preg-quote.php

不知道你的代码在做什么

你做了

$page = $URL_that_should_be_checked;

但是两行之后

$page = file_get_contents($userpage);

没有设置$userpage

相关内容

  • 没有找到相关文章

最新更新