【发布时间】:2018-04-16 20:22:00
【问题描述】:
我有以下代码:
<?php
$text = 'Hey @Mathew, have u talked with @Jhon today?';
$text = preg_replace('/(^|\s)@([A-Za-z0-9]*)/', '\1<a href="profile.php?user=\\2">@\\2</a>',$text);
?>
我的目标是通知用户被引用。 为此,我想:我将所有替换的字符串放在一个数组中,只选择名称;使用上面的例子,并按照思路,我得到了这样的结果:
['Mathew', 'Jhon']
那么,我怎样才能得到最后的结果呢?
【问题讨论】:
-
PHP 如何为您提供
{'Mathew', 'Jhon'}? -
"这是数组的一个例子..." 我不知道有任何编程语言用大括号 @987654325 声明数组@,对象通常是。您是说括号
[]吗? -
@WiktorStribiżew 这正是我所需要的。谢谢。
-
不是一个答案,但您的模式可以改进为
@(?<!\S.)代替(^|\s)@