2
$pattern = '#\[img (([^="\]]+)="([^"]+)" ?)+\]#';
preg_match_all($pattern,$blog,$matches,PREG_PATTERN_ORDER);
[img size="preview" click="http://text.com" align="right" src="pic:3378f.jpg"]
在上面的代码像上面的UBB标签相匹配,但只返回最后一个属性,当它应该返回全部按子模式在我的正则表达式。这是怎么回事?preg_match_all不返回所有子模式
当你做一个捕获组量词如:在'()+'上面,只有最后一次迭代被捕获(在你的情况下是'src'属性)。基本上你是[重复捕捉组而不是捕捉重复组](http://www.regular-expressions.info/captureall.html) – Kash