我正在创建我自己的 twitter 版本,我不知道如何让我的后端 php 脚本在输入的文本中获取 @membername。包括多个@membername 的消息,例如@billy @joseph、@tyrone、@kesha 消息
或
@billy 打扰@tyrone 他在窃听@kesha 你欠他的钱。
关于如何完成此操作的任何使用脚本?
最佳答案
使用正则表达式和 preg_match_all
怎么样? ,像这样:
$str = "Including multiple @membername's for example @billy @joseph, @tyrone,@kesha message ";
if (preg_match_all('#(@\w+)#', $str, $m)) {
var_dump($m[1]);
}
这会给你以下输出:
array
0 => string '@membername' (length=11)
1 => string '@billy' (length=6)
2 => string '@joseph' (length=7)
3 => string '@tyrone' (length=7)
4 => string '@kesha' (length=6)
基本上,在这里,我在正则表达式中使用的模式是匹配的:
- 一个
@
字符 - 任何 (多个) 字符,可以在一个单词中:
\w+
- 关于此,请参阅 Backslash页,在 Regular Expressions (Perl-Compatible) PHP 手册部分
关于php - 像 twitter 一样使用 @ 符号来识别用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2540013/