私の目標は、ハッシュタグを含む文字列を取得し、すべてのハッシュタグを返すことです。
私の機能:
function get_hashtags($text)
{
preg_match("/(^|\s)#(\w*[a-zA-Z_]+\w*)/", $text, $matches);
return $matches;
}
現在、私が試したとき
$text = "yay this is #my comment and it's #awesome and cool";
$tag = get_hashtags($text);
print_r($tag);
私は得る: 配列 ( [0] => #my [1] => [2] => my )
次のような配列を返したいだけです
array('tag1', 'tag2', 'tag3');
実際の # なし
私は何を間違っていますか?どうすれば修正できますか?
ありがとうございました
編集:誰かが回答を投稿しましたが、それは消えました。それはまさに私が望んでいたものですが、今ではエラー、コードが表示されます:
function get_hashtags($text)
{
$matches = array();
preg_match_all("/(^|\s)#(\w*[a-zA-Z_]+\w*)/", $text, $matches);
$result = array();
foreach ($matches as $match) {
$result[] = $match[2];
}
return $result;
}
エラー: 未定義のオフセット: 2
どうすれば修正できますか?