我的错误如下:
不推荐使用:函数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;
}
}
?>
答案 0 :(得分: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);