eregi_replace已弃用

时间:2012-06-11 16:05:08

标签: php

  

可能重复:
  Deprecated: Function eregi_replace()

我的错误如下:

  

不推荐使用:函数ereg_replace()在第26行的/home/socia125/public_html/wi_class_files/autoMakeLinks.php中弃用

我的代码在这里。任何帮助表示赞赏。

<?php

    class autoActiveLink {

    function makeActiveLink($originalString){

        $newString = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a 

        href=\"\\0\" target=\"_blank\">\\0</a>", $originalString);
        return $newString;
    }

}
?>

3 个答案:

答案 0 :(得分:0)

自PHP 5.3.0起,不推荐使用

ereg个函数。请改用 preg

class autoActiveLink {
    function makeActiveLink($originalString) {

        $newString = preg_replace("|[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]|",
                                  "<a href=\"\\0\" target=\"_blank\">\\0</a>",
                                  $originalString
        );
        return $newString;
    }
}

请注意,在preg函数上,您需要一个Regex的分隔符。有关其他详细信息,请参阅 manual

答案 1 :(得分:0)

改为使用preg_replace

在大多数情况下,唯一真正的区别是你必须在正则表达式周围有分隔符。我通常在开始时使用(,在结尾使用),但您可以使用任意两个匹配的符号。 ()的优点是,您不必为了避免与分隔符发生冲突而逃避任何事情。

答案 2 :(得分:0)

使用preg_replace

$newString = preg_replace("#[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]#","<a href=\"\\0\" target=\"_blank\">\\0</a>", $originalString);