2013-03-04 36 views
-2

我遷移到一個新的PHP版本。現在我有很多eregi_replace陳述throwning錯誤:轉換eregi_replace

$text = eregi_replace("([ \r\n])http://([^ ,\r\n]*)","\\1[url]http://\\2[/url]", $text); 
$text = eregi_replace("([ \r\n])https://([^ ,\r\n]*)","\\1[url]https://\\2[/url]", $text); 
$text = eregi_replace("([ \r\n])ftp://([^ ,\r\n]*)","\\1[url]ftp://\\2[/url]", $text); 
$text = eregi_replace("([ \r\n])www.([^ ,\r\n]*)","\\1[url]http://www.\\2[/url]", $text); 
$text = eregi_replace("^http://([^ ,\r\n]*)","[url]http://\\1[/url]", $text); 
$text = eregi_replace("^https://([^ ,\r\n]*)","[url]https://\\1[/url]", $text); 
$text = eregi_replace("^ftp://([^ ,\r\n]*)","[url]ftp://\\1[/url]", $text); 
$text = eregi_replace("^www.([^ ,\r\n]*)","[url]http://www.\\1[/url]", $text); 

我知道我必須使用的preg_replace。正如另一個人寫這個代碼,我不知道如何實現這一點。也許有人可以幫助我。

回答

1

這將是第一個eregi_replace相當於你有

$text = preg_replace("#([ \r\n])http://([^ ,\r\n]*)#i","$1[url]http://$2[/url]", $text); 

推廣,這將意味着:

$text = preg_replace('#'.$yourCurrentRegexString.'#i',str_replace('\\','$',$yourCurrentReplacement), $text);