关于一个preg_replace 正则表达式 替换的问题
最近做新浪应用
要把@example 替换为<a href="http://weibo.com/n/example">@example</a>
在别人的帮助下写了一段正则表达式
PHP code
$t = preg_replace( "/ *@([\x{4e00}-\x{9fa5}A-Za-z0-9_]*) ?/u", " <a href=\"http://t.sina.com.cn/n/\\1\" target=\"_blank\">@\\1</a> ", $t);
发现如果是正常的微博昵称 就替换正常
但是一旦遇到“@-example”
之类的,有“-”的昵称,就会自动在“-”前面加一个空格 ,变成@ -example
请问各位大侠,问题出在哪里?
谢谢~\(≧▽≦)/~啦啦啦
------解决方案--------------------
([\x{4e00}-\x{9fa5}A-Za-z0-9_]*)
这里面不包括-
添加进去就是了