Preg_replace到具有哈希的单词

时间:2013-03-01 11:34:14

标签: php regex

我想删除字符串中以#开头的所有用户名。我试过这个

preg_replace('/#/', '', 'blah blah blah #key blah blah');

但它只删除了#

我感谢任何帮助。

3 个答案:

答案 0 :(得分:4)

如果您的用户名不包含空格,那么这应该有效

preg_replace('/#[^\s]+/', '', 'blah blah blah #key blah blah');

答案 1 :(得分:3)

/#[^\b]+/应该可以正常使用。

正则表达式的解释:

  • # a litteral #字符
  • [^\b]+ 匹配任何内容,直到命中单词边界
    • ^ 表示“不是”
    • \b word boundary,会匹配任何非字母数字字符(或字符串结尾),因此支持“my string #username. Another string”匹配{{1}这就是例如。 #username支持。 (它会与期间相匹配)
    • [^\s]+ 表示“重复一次或多次”

在代码中:

+

答案 2 :(得分:1)

试试这个:

echo preg_replace('/#\w+/', '', 'blah blah blah #key blah blah');

输出:blah blah blah blah blah

相关问题