无法从ereg切换到preg_match工作

时间:2016-11-18 16:45:26

标签: php preg-match deprecated ereg

我已经阅读了从ereg(已弃用)切换到preg_match时可以找到的所有内容。我尝试通过添加分隔符和转义表达式(可能没有必要)来解决它已经徒劳无功。我开始时:

$file = fopen(VARS_FILE,"r");

while(!feof($file)) {
    $line = fgets($file,1000);
    $parts = explode(':',$line);

    if(ereg("breaks",$parts[0]) || ereg("high_",$parts[0]))
        $GLOBALS[$parts[0]] = explode(',',trim($parts[1]));
    else
        $GLOBALS[$parts[0]] = trim($parts[1]);
}

fclose($file);

并尝试将其更改为:

$file = fopen(VARS_FILE,"r");

while(!feof($file)) {
    $line = fgets($file,1000);
    $parts = explode(':',$line);

    if(preg_match("/breaks/",$parts[0]) || preg_match("/high_/",$parts[0]))
        $GLOBALS[$parts[0]] = explode(',',trim($parts[1]));
    else
        $GLOBALS[$parts[0]] = trim($parts[1]);
}

fclose($file);

这会继续导致

等错误

“fgets()期望参数1是资源,布尔值在......”

中给出

任何建议表示赞赏。

0 个答案:

没有答案