preg_match foreach

时间:2011-07-02 22:10:43

标签: php regex

所以我使用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个单词。非常感谢任何帮助。

2 个答案:

答案 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)