用于指定构造的php中的preg_replace

时间:2015-01-26 16:06:05

标签: php regex preg-replace

我的preg_replace有问题。我需要为包含更多@ .. @的字符串执行此操作,例如我有:

@CN@ This is a test. Big test @DATE@ and @DATE_END@.

现在我想获得一个列表:

我的代码:

$pattern = '/@[_a-zA-Z0-9]*@/';
preg_match_all($pattern,'',$aData[$i]['tags']);
@CN@,@DATE@,@DATE_END@

在@ ... @之间可以是多个表达式。

2 个答案:

答案 0 :(得分:1)

preg_match_allimplode功能一起使用。

$str = "@CN@ This is a test. Big test @DATE@ and @DATE_END@.";
preg_match_all('/@[^@]*@/', $str, $match);
echo implode(",", $match[0]);

上面的implode函数有助于使用逗号作为分隔符连接数组元素。

输出:

@CN@,@DATE@,@DATE_END@

答案 1 :(得分:0)

我想你想要使用preg_match_all:

preg_match_all('/(@[^@]+@)/', $input, $match)