文字列を中に入れたいと思って[square] [brackets]
い@like @this
ます。以下は では機能しますが、 では機能し[tags]
ません@users
。
$query = "[tag1] [tag2] @user1 @user2 ignoreme";
// check for tags e.g. [tag1] [tag2]
preg_match_all("/\[([^\]]+)\]/", $query, $tags);
// check for users e.g. @username
preg_match_all("/\B@[^\B]+/", $query, $users);
print_r($tags);
print_r($users);
出力:
(
[0] => Array
(
[0] => [tag1]
[1] => [tag2]
)
[1] => Array
(
[0] => tag1
[1] => tag2
)
)
Array
(
[0] => Array
(
[0] => @user1 @user2 ignoreme
)
)
タグpreg_match
は機能していますが、@user はそれ以降のすべてを取得します (2 番目の @user2 を無視しても)。