我的应用中有类似 facebook 的提及功能。
创建帖子或评论时,用户可以使用 @ 符号提及其他用户。我使用以下 jQuery 插件: http: //podio.github.com/jquery-mentions-input/
提及按以下格式生成:@@[Marko Kurjonen:2] so "@@[User's name:user_id]
目前我有以下模式(和代码):
$pattern = "/@@\[(.*):(\d*)] /ims";
$matches = array();
preg_match_all($pattern, $input, $matches);
Zend_Debug::dump($matches);
$output = preg_replace($pattern, "<a href=\"". $this->view->baseUrl("user") ."/$2\" class=\"tooltip\">$1</a>", $input);
问题是它只第一次提到。
示例字符串:
$input = "Hello @@[Markku Pelkonen:7] and @@[Marko Kurjonen:2]"
只有第一个用户被 preg_replace 转换。
兄弟,马尔科