php preg_replace 亂碼問題

仍是用網站建設代碼來講話吧:併發

$pattern = "/ (href|src)=['|\"]http:\/\/(\w*\.?mysite\.com)\/([^\?'\"]*)['|\"]/i";

$repl = " \1='http://\2/\3?p=faskdfkasdkf'";

$result="<a href='http://eg.mysite.com/'>中國人</a>";
$result = preg_replace($pattern, $repl, $result);
echo $result;測試

上面這段代碼的做用,我就不解釋了,能夠本身執行一下。網站

執行後你會發現出現有亂碼,通過查資料發現是$repl寫錯了,應該用\\來作代替位置,正確格式以下:blog

$repl = " \\1='http://\\2/\\3?p=faskdfkasdkf'";內存

還有一點必定要注意:mb_ereg_replace 在併發狀況下會內存泄露,形成壓力測試沒法經過。(fblww-0305)get

相關文章
相關標籤/搜索