更多>>PHP程序设计 Blog
来源:一度好 时间:2021-11-26 阅读:1402
使用PHP正则替换函数preg_match_all,批量获取图片img标签里的src值
1、使用场景:
在实际使用中,我们需要使用编辑器里的图片批量上传功能,在批量上传提交上来的图片中,我们只想保留每一个图片的 src 的值,至于图片的其他属性值,则不需要。
2、遇到的问题:
在编辑器里批量提交上来的图片源代码,如下所示,我们会看到在这段源代码中,有p标签,有img标签,有src属性,有title属性等等,如何处理才能把每一个图片的 src 属性值给保留下来呢。
<p><img src="/upload/image/605401.jpg" title="605401.jpg"/></p> <p><img src="/upload/image/521156.jpg" title="521156.jpg"/></p> <p><img src="/upload/image/707640.jpg" title="707640.jpg"/></p> <p><br/></p>
3、解决问题
PHP为我们提供了一个正则替换函数 preg_match_all,使用如下。
假设编辑器的表单的名字为 editor,则编辑器的表单获取如下:
$editor = $_POST['editor']; preg_match_all('/(src|SRC)=("[^"]*")/i', $editor, $matches); $ret = array(); foreach($matches[0] as $i => $v) { $ret[] = trim($matches[2][$i],'"'); }
其中,$ret 的值如下,即每一个图片的 src 的值。
Array ( [0] => /upload/image/605401.jpg [1] => /upload/image/521156.jpg [2] => /upload/image/707640.jpg )
接下来我们就可以对图片作其他相应的处理了。
评论列表 |
暂时没有相关记录
|
发表评论