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