我正在使用代码
function twitterify($ret) {
$ret = preg_replace("#(^|[n ])([w]+?://[w]+[^ "nrt< ]*)#", "\1<a href="\2" target="_blank">\2</a>", $ret);
$ret = preg_replace("#(^|[n ])((www|ftp).[^ "tnr< ]*)#", "\1<a href="http://\2" target="_blank">\2</a>", $ret);
$ret = preg_replace("/@(w+)/", "<a href="http://www.twitter.com/\1" target="_blank">@\1</a>", $ret);
$ret = preg_replace("/#(w+)/", "<a href="http://twitter.com/search?q=\1" target="_blank">#\1</a>", $ret);
return $ret;
}
从推文中解析文本并添加链接。如果#1出现在Tweet文本中,则将为其创建标签链接。这是不正确的,因为主题标签无法从数字开始。
如何修改正则表达式以纠正此问题?
也应根据此类排除特殊字符。
而不是此
/#(w+)/
使用此
/#([a-zA-Z]w+)/
确保第一个字符是字母。