我正在尝试将推文链接起来。但是看起来像“#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的代码的其他解答。 –