从 PHP 函数中的推文中检索所有主题标签
我想使用PHP函数从推文中检索所有主题标签。
我知道有人在这里问了类似的问题,但没有提示如何在PHP中实现这一点。由于我不是很熟悉正则表达式,因此不知道如何编写一个函数来返回推文中所有主题标签的数组。
那么我该如何使用下面的正则表达式来做到这一点:
#\S*\w
我想使用PHP函数从推文中检索所有主题标签。
我知道有人在这里问了类似的问题,但没有提示如何在PHP中实现这一点。由于我不是很熟悉正则表达式,因此不知道如何编写一个函数来返回推文中所有主题标签的数组。
那么我该如何使用下面的正则表达式来做到这一点:
#\S*\w
我创建了自己的解决方案。它的作用是:
支持统一码字符
function getHashtags($string) {
$hashtags= FALSE;
preg_match_all("/(#\w+)/u", $string, $matches);
if ($matches) {
$hashtagsArray = array_count_values($matches[0]);
$hashtags = array_keys($hashtagsArray);
}
return $hashtags;
}
输出如下所示:
(
[0] => #_ƒOllOw_
[1] => #FF
[2] => #neslitükendi
[3] => #F_0_L_L_O_W_
[4] => #takipedeğerdost
[5] => #GönüldenTakipleşiyorum
)
$tweet = "this has a #hashtag a #badhash-tag and a #goodhash_tag";
preg_match_all("/(#\w+)/", $tweet, $matches);
var_dump( $matches );
*破折号是主题标签的非法字符,允许使用下划线。