我正在嘗試將推文鏈接起來。但是看起來像「#löövet」的標籤沒有按照我的要求過濾。他們在外國人物面前被切斷。外國字符應該被允許。防止preg_replace替換特殊字符
任何人都知道如何改變正則表達式爲此目的?
下面是我的例子:
//Hashtag
$tweet = preg_replace("/ +#([a-z0-9_]*)?/i", " <a href=\"http://twitter.com/tag/\\1\" target=\"_blank\">#\\1</a>", $tweet);
//Problem:
/*
* The function above does not match foreign characters as å/ä/ö
* Tag result example: tag = #löövet
* After preg_replace: tag = #l öövet
* Desired after preg_replace: tag = #löövet
*/
添加** **ü標誌圖案可能如果你使用UTF-8編碼工作。當然,既然你已經明確地列出了沒有出現的拉丁字母(a-z和A-Z),這就是你在這種情況下所能得到的。請參閱有關使用啓用Unicode的代碼的其他解答。 –