文字列で始まるすべてのユーザー名を削除したい#
。私はこれを試しました
preg_replace('/#/', '', 'blah blah blah #key blah blah');
しかし、それは#
.
助けていただければ幸いです。
/#[^\b]+/
正常に動作するはずです。
正規表現の説明:
#
文字どおりの#
文字[^\b]+
単語境界に到達するまで、何にでも一致します
^
「ない」という意味\b
は単語の境界であり、英数字以外の文字 (または文字列の末尾) と一致するため、" " をサポートして、次のようなものとmy string #username. Another string
のみ一致させます。サポートしていません。(ピリオドと一致します)#username
[^\s]+
+
「1回以上繰り返す」という意味コード内:
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