2013-04-17 39 views
-1

說我有以下字符串:只返回匹配與出現的strstr()

$字符串=「大@jason我覺得@sally也會喜歡。」

我使用:

$mentions = strstr($string, '@'); 
echo $mentions 

其輸出

@jason I think @sally would love it too. 

所需的輸出

@jason @sally 

我做不到˚F igure如何做到這一點在PHP中,JS我簡單地做:

hashtags = /\@\w+/g; 
var matches = string.match(hashtags); 
alert(matches); 

的preg_match()在PHP返回一個布爾值,這樣我就可以得到最接近的是用的strstr()...但之後返回整個字符串第一場比賽。

+0

您是否嘗試過閱讀'preg_match',而不是猜測它做什麼的手冊? – PeeHaa

+0

什麼是downvotes?這是一個有效的問題。 – Blender

回答

4

您可以使用preg_match_all與相同的正則表達式:

<?php 

$string = 'Great @jason I think @sally would love it too.'; 
preg_match_all("/@\w+/", $string, $matches); 

var_dump($matches); 

?> 

演示:http://ideone.com/NgrRvH

+0

如果每個人都有投票權。也許這麼友善,留下一個信息爲什麼?這個答案似乎完全有效。 – 2013-04-17 23:05:58

+0

謝謝,這就是我一直在尋找的,是的,下次我會嘗試更好地閱讀資源 – Aaron

+0

@Allendar嗯,有時候,downvotes是爲了回答一個問題的懲罰,可以通過在文檔或搜索中輕鬆解決所以。 downvoter可能會認爲「你正在回答 - 簡單!」。懲罰想要幫助的人有點難過...... – HamZa