2011-07-02 26 views
5

Yani bir dizgeden bir boşluk alana kadar # yukarı sonra herhangi bir metin almak için bir preg_match kullanıyorum. Ancak, dizede birden fazla vesilesi varsa, yalnızca ilkini döndürür. Bu defapreg_match foreach

$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; çıkışları #demo1#demo1 ne zaman olması gerektiği çıkış önünde # ile tüm kelimeleri 3. Herhangi bir yardım büyük beğeni topluyor.

cevap

13

preg_match_all numaralı telefonu kullanmak istiyorsunuz.

Örnek:

<?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; 
}