我有preg_match_all和str_replace函數有點問題PHP preg_match_all和str_replace函數
<?
$source = 'hello @user_name, hello @user_name2, hello @user_name3';
preg_match_all("/@[\w\d_]*/s", $source, $search);
foreach($search[0] as $result) {
$source = str_replace($result, "<b>okay</b>", $source);
}
echo $source;
?>
結果是(錯誤):
hello <b>okay</b>, hello <b>okay</b>2, hello <b>okay</b>3
正確的結果應該是這樣的:
hello <b>okay</b>, hello <b>okay</b>, hello <b>okay</b>
任何人都可以幫忙嗎? 謝謝!
嗨Crontab,感謝您的建議..我嘗試使用'$ source = preg_replace('/'.$ result。'/',''。$ result。' (',$ source);'但結果是一樣的。:( –
我的意思是讓你自己使用'preg_replace()'而不是使用'preg_match_all()'和'str_replace()'串聯。 – Crontab
hmm,如果我不使用'preg_match_all',我不知道用什麼字符串跟@ @必須替換爲..?它怎麼樣? –