所以我使用preg_match在#up之后获取任何文本,直到字符串中的空格为止。但是,如果字符串中有多个场合,它将只返回第一个。这就是我到目前为止所拥有的
$text = '#demo1 #demo2 some text #blah2';
$check_hash = preg_match("/([#][a-zA-Z-0-9]+)/", $text, $hashtweet);
foreach ($hashtweet as $ht){
echo $ht;
}
echo $ht;
输出#demo1#demo1
,它应该输出前面带#的所有3个单词。非常感谢任何帮助。
答案 0 :(得分:16)
您想使用preg_match_all
。
示例:
<?php
$text = '#demo1 #demo2 some text #blah2';
$check_hash = preg_match_all("/([#][a-zA-Z-0-9]+)/", $text, $hashtweet);
foreach ($hashtweet[1] as $ht){
echo $ht;
}
答案 1 :(得分:1)