2017-09-14 4 views
0
の後の単語のみを削除します

文字列のユーザー名を削除しようとしています。以下のコードを試みたが、それは私が出力になりたい@preg_replace @

$string = 'he @username die'; 
$string = preg_replace('/@.*/','',$string); 
echo $string; // output: he 

後にすべてのものを削除します。彼は空白文字(逆ではないものを意味する

答えて

0

使用\S

おかげで死にます\sの)代わりに.の:

$string = 'he @username die'; 
$string = preg_replace('/@\S+/','',$string); 
echo $string; // output: he die 

また、次のスペースを削除することもできます。

$string = 'he @username die'; 
$string = preg_replace('/@\S+\s*/','',$string); 
echo $string; // output: he die 
+0

は完全に機能します。しかし、私は最初と2番目の間に違いは見られません。両方の出力が彼は死ぬ。それはPHP版のためですか? –

+0

@ira_:最初に 'he'と' die'との間に2つのスペースがあり、2番目には1つしかありません。 – Toto