0

重複の可能性:
非推奨:関数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;
    }

}
?>
4

3 に答える 3

0

使用preg_replace

$newString = preg_replace("#[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]#","<a href=\"\\0\" target=\"_blank\">\\0</a>", $originalString);
于 2012-06-11T16:08:42.817 に答える
0

eregPHP 5.3.0以降、関数は非推奨になりました。preg代わりに使用してください。

class autoActiveLink {
    function makeActiveLink($originalString) {

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

preg関数では、正規表現の区切り文字が必要であることに注意してください。詳細については、マニュアルを参照してください。

于 2012-06-11T16:06:56.617 に答える
0

preg_replace代わりに使用してください。

ほとんどの場合、唯一の本当の違いは、正規表現の周りに区切り文字が必要なことです。私は通常(、最初と)最後に使用しますが、一致する任意の2つの記号を使用できます。の利点は()、区切り文字との競合を回避するためだけに何かをエスケープする必要がないことです。

于 2012-06-11T16:07:06.953 に答える