更多>>PHP程序设计 Blog

PHP通过正则获取编辑器里的批量上传的图片的src的值

使用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
)


接下来我们就可以对图片作其他相应的处理了。


评论列表

暂时没有相关记录

发表评论

用来接收审核回复提醒,请认真填写

  换一张?
captcha
看不清?点击图片换一张