php(preg)Wont Work,函数ereg_replace()已弃用

时间:2014-08-04 19:23:20

标签: php preg-replace ereg

我一直在升级一些脚本以使用最近的编码,但是这个脚本正在向我发送。我做了一些转换来使用preg,但这段代码似乎在反击,

下面是我需要替换的代码部分,它是用于轮询的代码部分

 function pre_parse($filename) {
        if (isset($this->pre_output[$filename]) && !empty($this->pre_output[$filename])) {
            return $this->pre_output[$filename];
        }
        if (isset($this->vars[$filename])) {
            reset($this->vars[$filename]);
            $this->pre_output[$filename] = ereg_replace("\"", "\\\"", $this->files[$filename]);
            while(list($name, $value) = each($this->vars[$filename])) {
                $value = ereg_replace("\"", "\\\"", $value);
                $this->pre_output[$filename] = str_replace($this->start.$name.$this->end, $value, $this->pre_output[$filename]);
            }
        } else {
            $this->pre_output[$filename] = ereg_replace("\"", "\\\"", $this->files[$filename]);
        }
        return $this->pre_output[$filename];
    }

有人可以在这里帮助转换,它导致更多的标题问题,它一直让我试图指出这一点让它恰到好处...我希望他们让我们运行遗留脚本选项但我的服务器别!

如果你愿意接受这个问题,我可以告诉你一个林,我很厌倦看到标题错误,当我几年前编写这些脚本时,我总是很头疼,我的编码是边缘的,只是勉强容忍tp PHP,但现在它让我修复这些小错误和preg调用是一个打败我

我知道这是一个被广泛报道的主题,我看了几打,但每次我尝试转换它都失败了,我认为因为路径定义的方式,我试图重新考虑代码,但它只会变得更糟,

任何?

1 个答案:

答案 0 :(得分:1)

使用preg_replace代替ereg_replace

 mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
  

ereg_replace自PHP 5.3.0起已被弃用。依靠这个   功能非常沮丧。

http://php.net/manual/en/function.preg-replace.php