编程语言
首页 > 编程语言> > 如何使用php获取字符串中以’#’开头的单词?

如何使用php获取字符串中以’#’开头的单词?

作者:互联网

参见英文答案 > 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]

检查demo中的代码结果

如果要获取所有匹配字符串,请使用查找所有匹配项的preg_match_all().

preg_match_all("/#\w+/", $str, $matches);
print_r($matches[0]);

标签:preg-match-all,php,string,regex,preg-match
来源: https://codeday.me/bug/20190823/1702546.html