0

文字列で始まるすべてのユーザー名を削除したい#。私はこれを試しました

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

しかし、それは#.

助けていただければ幸いです。

4

3 に答える 3

3

/#[^\b]+/正常に動作するはずです。

正規表現の説明:

  • # 文字どおりの#文字
  • [^\b]+ 単語境界に到達するまで、何にでも一致します
    • ^ 「ない」という意味
    • \b 単語の境界であり、英数字以外の文字 (または文字列の末尾) と一致するため、" " をサポートして、次のようなものとmy string #username. Another stringのみ一致させます。サポートしていませ。(ピリオドと一致します)#username[^\s]+
    • + 「1回以上繰り返す」という意味

コード内:

preg_replace('/#[^\b]+/', '', 'blah blah blah #key blah blah');
于 2013-03-01T11:36:32.187 に答える
3

ユーザー名にスペースが含まれていない場合、これは機能するはずです

preg_replace('/#[^\s]+/', '', 'blah blah blah #key blah blah');
于 2013-03-01T11:37:17.127 に答える
1

これを試して :

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

出力:blah blah blah blah blah

于 2013-03-01T11:39:00.077 に答える