<?PHP
$string = "[test]aaaaa[/[test][test]bbbb[/test][test]cccc[/test][test]ddd[/test]";
echo $string . "<br>";
preg_match("/\[test\].*?(\[\/test\])/i", $string, $m);
print_r($m);
?>
如何从capture [test]和[/ test]获得多个值aaaaa和bbbb?
答案 0 :(得分:2)
preg_match_all("/\[test\](.*?)\[\/test\]/i", $string, $array);
$array[1]
有你想要的。
答案 1 :(得分:1)
非正则表达方式
$string = "[test]aaaaa[/test][test]bbbb[/test][test]cccc[/test][test]ddd[/test]";
$s = explode('[/test]',$string);
foreach ($s as $v){
if( strpos( $v,"[test]" )!==FALSE ){
$t=explode("[test]",$v);
print $t[1]."\n";
}
}
输出
$ php test.php
aaaaa
bbbb
cccc
ddd