我想删除所有#以字符串开头的用户名。我试过这个
preg_replace('/#/', '', 'blah blah blah #key blah blah');
但它只删除#.
我很感激任何帮助。
/#[^\b]+/应该可以正常工作。
正则表达式的解释:
# #一个字字[^\b]+ 匹配任何内容,直到遇到单词边界
^ “不是”的意思\b 是单词边界,将匹配任何非字母数字字符(或字符串结尾),因此支持“ my string #username. Another string”来匹配#username例如。[^\s]+不支持。(它将与期间相匹配)+ 意思是“重复一次或多次”在代码中:
preg_replace('/#[^\b]+/', '', 'blah blah blah #key blah blah');
如果您的用户名不包含空格,那么这应该有效
preg_replace('/#[^\s]+/', '', 'blah blah blah #key blah blah');
试试这个 :
echo preg_replace('/#\w+/', '', 'blah blah blah #key blah blah');
输出 :blah blah blah blah blah