读书人

关于一个preg_replace 正则表达式 替换

发布时间: 2012-04-10 21:03:56 作者: rapoo

关于一个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_]*)
这里面不包括-

添加进去就是了

读书人网 >PHP

热点推荐