PHP正则表达式解析wordpress短代码属性

时间:2013-11-15 03:35:33

标签: php regex wordpress

我正在尝试使用所有lightbox 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"]

可以有任意数量的这些短代码,但我需要获取所有链接属性:

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

我正在使用的模式:

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

1 个答案:

答案 0 :(得分:1)

我认为你有点过分思考

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