删除URL的PHP代码突然停止工作 $url='我希望获得接近$的第一个和第二个数字的网址'; $str=文件获取内容($url); preg_match_all('/([$])*(\d+(:?。\d+)/”,$str,$matches,preg_SET_ORDER); $i=0; foreach($匹配为$val){ 如果($i==0)$first=$val[2]; 如果($i==3)$second=$val[2]; $i++; } $bad_符号=数组(“,”,“)$first=str_替换($bad_符号,“,$first); $bad_符号=数组(“,”,“)$秒=str_replace($bad_符号,“,$second); echo美元优先。“”; echo$second;

删除URL的PHP代码突然停止工作 $url='我希望获得接近$的第一个和第二个数字的网址'; $str=文件获取内容($url); preg_match_all('/([$])*(\d+(:?。\d+)/”,$str,$matches,preg_SET_ORDER); $i=0; foreach($匹配为$val){ 如果($i==0)$first=$val[2]; 如果($i==3)$second=$val[2]; $i++; } $bad_符号=数组(“,”,“)$first=str_替换($bad_符号,“,$first); $bad_符号=数组(“,”,“)$秒=str_replace($bad_符号,“,$second); echo美元优先。“”; echo$second;,php,Php,直到昨天天气还不错 可能是什么问题?可能是系统管理员更改了allow\u url\u fopen指令,这意味着您无法访问不在服务器上的文件。检查_get_contents()返回的文件,因为您提供的错误信息很少 如上所述,另一个问题可能是远程站点已更改:)可能系统管理员已更改allow\u url\u fopen指令,这意味着您无法访问不在服务器上的文件。检查_get_contents()返回的文件,因为您提供的错误信息很少 如上所述,另一个问题可能是远程站点已被更改:)我认为至少有两种可能的解

直到昨天天气还不错
可能是什么问题?

可能是系统管理员更改了allow\u url\u fopen指令,这意味着您无法访问不在服务器上的文件。检查_get_contents()返回的文件,因为您提供的错误信息很少


如上所述,另一个问题可能是远程站点已更改:)

可能系统管理员已更改allow\u url\u fopen指令,这意味着您无法访问不在服务器上的文件。检查_get_contents()返回的文件,因为您提供的错误信息很少


如上所述,另一个问题可能是远程站点已被更改:)

我认为至少有两种可能的解释:

  • 网站的HTML已更改;也许只有一点点,但足以让你陷入麻烦。
    • 您可以测试
      preg\u match\u all
    • 如果为false,则表示您的正则表达式不匹配--这可能表明HTML页面的内容不相同
    • 然后,您可能需要修改正则表达式
  • 服务器管理员(也可以在生成页面的代码中执行)已禁止您
    • 可能网站检测到它被你刮走了(可能是因为你对他们的服务器太苛刻,或者他们在你的网站上看到了他们的内容)
    • 他们禁止你的IP(例如)
    • 要检测到这一点,请尝试获取
      file\u get\u contents
      的返回值;如果它是假的,则可能是问题的原因
    • 您可以尝试使用命令行中的wget从服务器获取HTML页面吗
  • 第三个问题,正如其他人所建议的:可能您的服务器配置已经更改,您不能再通过HTTP使用文件内容了。。。
    • 例如,一个解决方案是使用curl
    • 在指令中签入您的配置

如果激活(),您还可能会得到一些有用的信息…

我至少看到两种可能的解释:

  • 网站的HTML已更改;也许只有一点点,但足以让你陷入麻烦。
    • 您可以测试
      preg\u match\u all
    • 如果为false,则表示您的正则表达式不匹配--这可能表明HTML页面的内容不相同
    • 然后,您可能需要修改正则表达式
  • 服务器管理员(也可以在生成页面的代码中执行)已禁止您
    • 可能网站检测到它被你刮走了(可能是因为你对他们的服务器太苛刻,或者他们在你的网站上看到了他们的内容)
    • 他们禁止你的IP(例如)
    • 要检测到这一点,请尝试获取
      file\u get\u contents
      的返回值;如果它是假的,则可能是问题的原因
    • 您可以尝试使用命令行中的wget从服务器获取HTML页面吗
  • 第三个问题,正如其他人所建议的:可能您的服务器配置已经更改,您不能再通过HTTP使用文件内容了。。。
    • 例如,一个解决方案是使用curl
    • 在指令中签入您的配置

如果激活(),您可能还会得到一些有用的信息……

您是否查看了文件内容($url)的结果?也许你正在抓取的网站改变了一些东西。你得到的确切错误是什么?那么问题是什么?它现在做什么?请给我们提供更多关于什么不再有效的信息,并使用更具描述性的标题。您是否查看了文件内容($url)的结果?也许你正在抓取的网站改变了一些东西。你得到的确切错误是什么?那么问题是什么?它现在是做什么的?请给我们更多的信息,确切地说什么不再有效了,并使用更具描述性的标题。它被刮去了而不是被刮去了编辑被刮去了而不是被刮去了
$url = 'the web address I want to get the first and second numbers close to $' ;
$str = file_get_contents($url);

preg_match_all('/ ([$]) *(\d+(:?.\d+)?)/', $str, $matches, PREG_SET_ORDER);

$i=0;
foreach ($matches as $val) {
    if($i==0) $first=$val[2] ;
    if($i==3) $second=$val[2] ;
    $i++;    
}
$bad_symbols = array(",", "."); $first = str_replace($bad_symbols, "", $first); 
$bad_symbols = array(",", "."); $second = str_replace($bad_symbols, "", $second); 

echo $first . "</br>";
echo $second;