【发布时间】:2018-03-30 11:37:29
【问题描述】:
我正在尝试获取我的正则表达式的所有成功匹配的数组,在本例中是所有数据 URI 的数组,以便遍历数组并将每个数据 URI 转换为文件。
<?php
$string = '<img src="data:image/png;base64,FAKEIMAGE0XXXXXAKJDBFLASDGFSDGAFJLSD==" alt="Fake img 0" /><img src="data:image/png;base64,FAKEIMAGE1XXXXXAKJDBFLASDGFSDGAFJLSD==" alt="Fake img 1" /><img src="data:image/png;base64,FAKEIMAGE2XXXXXXXAKJDBFLASDGFSDGAFJLSD==" alt="Fake img 2" /><img src="data:image/png;base64,FAKEIMAGE3XXXXXXAKJDBFLASDGFSDGAFJLSD==" alt="Fake img 3" />';
$pattern = '@src="([^"]+)"@';
echo preg_match($pattern, $string, $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
我想要如下结果:
Array(4) { [0]=> string(60) "data:image/png;base64,FAKEIMAGE0XXXXXAKJDBFLASDGFSDGAFJLSD==" [1]=> string(60) "data:image/png;base64,FAKEIMAGE1XXXXXAKJDBFLASDGFSDGAFJLSD==" [2]=> string(62) "data:image/png;base64,FAKEIMAGE2XXXXXXXAKJDBFLASDGFSDGAFJLSD==" [3]=> string(61) "data:image/png;base64,FAKEIMAGE3XXXXXXAKJDBFLASDGFSDGAFJLSD==" }
【问题讨论】:
-
使用
preg_match_all,然后使用var_dump($matches[1]); -
在你的评论之后,我认为这很重要。