参见英文答案 > Retrieve all hashtags from a tweet in a PHP function 5个
我有这句话
"My name's #jeff,what is thy name?"
现在我想从这句话中得到#jeff.
我试过这段代码
for ($i=0; $i <=substr_count($Text,'#'); $i++) {
$a=explode('#', $Text);
echo $a[$i];
}
但它返回#jeff,你的名字是什么?这不是我的灵魂所渴望的
解决方法:
有一个更简单的解决方案来做到这一点.使用preg_match()
,使用正则表达式查找字符串的目标部分.
preg_match("/#\w+/", $str, $matches);
echo $matches[0]
如果要获取所有匹配字符串,请使用查找所有匹配项的preg_match_all()
.
preg_match_all("/#\w+/", $str, $matches);
print_r($matches[0]);