这个正则表达式模式的东西让我很困惑。
我有一个用户名,例如@tom
存储在变量中。我想设置一个模式以@tom
在字符串中的任何位置找到它时进行匹配;开头、中间或结尾。
我的目标是匹配并替换为他的个人资料页面的链接。我想我已经弄清楚了,但它没有识别单词的结尾。就像它在寻找它的时候一样,@tom
它也与@tommy
我不想要的匹配。
这是我到目前为止所拥有的:
$pattern = array();
$pattern[0] = '/'.$possible1.'/i';
$replacement = array();
$replacement[0] = '$1<a href="http://banterme.com/'.$possible1user.'">@'.$possible1user.'</a>';
echo preg_replace($pattern, $replacement, $text);
我使用数组是因为我想匹配文本中的所有@(例如:@tom 与@inga 匹配),而不仅仅是一个。我简化了实际代码以仅显示数组的一部分。
更新:基本上,我试图弄清楚什么'/'.$possible1.'/i'
应该不匹配(例如)@tom
到@tommy
.