Php 正则表达式来查找和替换像twitter这样的@提及
我正在开发一个PHP应用程序,它需要一个正则表达式来替换像twitter这样的@提及。此外,正则表达式还应满足以下需求Php 正则表达式来查找和替换像twitter这样的@提及,php,regex,preg-replace,Php,Regex,Preg Replace,我正在开发一个PHP应用程序,它需要一个正则表达式来替换像twitter这样的@提及。此外,正则表达式还应满足以下需求 如果只有@且前后无任何内容,则不应更换 不应替换电子邮件中的@。例如,sam@example.com不应更换 只有像@sam或@example这样的字符串应该像和那样被替换 请帮忙。提前谢谢。像这样的东西怎么样- (?<!\w)@[\w]+ (?类似于- (?<!\w)@[\w]+ 哇,我自己找到了答案 $tweet = preg_replace('/(^|[^
@
且前后无任何内容,则不应更换@
。例如,sam@example.com
不应更换@sam
或@example
这样的字符串应该像
和
那样被替换请帮忙。提前谢谢。像这样的东西怎么样-
(?<!\w)@[\w]+
(?类似于-
(?<!\w)@[\w]+
哇,我自己找到了答案
$tweet = preg_replace('/(^|[^a-z0-9_])@([a-z0-9_]+)/i', '$1<a href="http://twitter.com/$2">@$2</a>', $tweet);
$tweet=preg_replace('/(^[a-z0-9])@([a-z0-9+)/i','$1',$tweet);
谢谢你们的帮助。哇,我自己找到了答案
$tweet = preg_replace('/(^|[^a-z0-9_])@([a-z0-9_]+)/i', '$1<a href="http://twitter.com/$2">@$2</a>', $tweet);
$tweet=preg_replace('/(^[a-z0-9])@([a-z0-9+)/i','$1',$tweet);
感谢大家的帮助。由于twitter最多可以包含15个字符,您可以这样编写,以避免出现一些错误:
$tweet = preg_replace("/(^\w)@(\w{1,15})/i", "\\1<a ref=\"http://twitter.com/\\2\">@\\2</a>", $tweet);
$tweet=preg_replace(“/(^\w)@(\w{1,15})/i“,“\\1@\\2”,$tweet);
由于twitter最多可以包含15个字符,您可以这样编写,以避免出现一些错误:
$tweet = preg_replace("/(^\w)@(\w{1,15})/i", "\\1<a ref=\"http://twitter.com/\\2\">@\\2</a>", $tweet);
$tweet=preg_replace(“/(^\w)@(\w{1,15})/i“,“\\1@\\2”,$tweet);