2013-11-15 62 views
0

我想正則表達式所有燈箱的wordpress短代碼和接收他們的'鏈接'屬性。PHP的正則表達式來解析WordPress的短代碼屬性

例子:

[lightbox link="http://www.test.com/photo1.jpg" width="150" align="none" title="photo 1" frame="true" icon="image"] 
[lightbox link="http://www.test.com/photo2.jpg" width="150" align="none" title="photo 2" frame="true" icon="image"] 
... 
[lightbox link="http://www.test.com/photo5.jpg" width="150" align="none" title="photo 5" frame="true" icon="image"] 

可以有任意數量的這些簡碼,但我需要得到所有的鏈接屬性:

$pattern = '/\[(\[?)(lightbox)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)/'; 

http://www.test.com/photo1.jpg 

我的模式我一起工作

+0

你的問題是什麼? – Tchoupi

回答

1

我認爲你有點過度了

preg_match_all('/\[lightbox link="(.*?)".*\]/i', $str, $matches);