我正在使用提及系統,並且遇到了一個問題,當我循環並將提到的鏈接更改爲鏈接時,它將使用相同的鏈接替換類似的@tom和@ tom123到/湯姆/而不是個人。preg_replace具有相似的值
我已經嘗試過使用正則表達式和preg_replace,但是我也檢查,如果用戶名實際存在,所以我只是想知道如果有一種方法,我可以防止它發生。
$tweet = "@wayne how are you? @wayne123 is cool but are you?";
preg_match_all('/(^|\s)@([a-z0-9_]+)/i', $tweet, $matches);
$i = 0;
foreach($matches[2] as $value)
{
if ($db_query)
{
$tweet = str_replace("@" . $value, "<a href=\"/user/$value\">@$value</a>!", $tweet);
}
}
echo $tweet; // outputs: hi <a href="/user/wayne">@wayne!</a> how are you? <a href="/user/wayne">@wayne!</a>123 is cool but are you?
任何幫助是極大的讚賞,我已經和正則表達式嘗試過,但沿線仍在繼續,我甚至可以檢查,看看他們是否是一個有效的用戶
你能後的代碼爲你的'$ db_query'? – Drewness 2013-05-02 14:17:06