我在代码库中获得了以下函数,它接受一个String并使链接处于活动状态。我注意到ereg_replace()是Depreciated。我如何将其更改为使用preg_replace?
function makeActiveLink($originalString){
$newString = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\" target=\"_blank\">\\0</a>", $originalString);
return $newString;
}
答案 0 :(得分:4)
你可以保持几乎完全相同,但最好改变一些事情:
function makeActiveLink($originalString){
$newString = preg_replace('#[a-z]+://[^<>\s]+[[a-z0-9]/]#i', '<a href="\0" target="_blank">\0</a>', $originalString);
return $newString;
}
请注意,我使用#
作为分隔符,因为你的字符串中有斜杠。
答案 1 :(得分:1)
function makeActiveLink($originalString) {
$pattern '#[a-z]+://[^<>\s]+[[a-z0-9]/]#i';
$newString = preg_replace($pattern, '<a href="\\0" target="_blank">\\0</a>', $originalString);
return $newString;
}