2013-04-17 43 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