PHP中preg_match_all()写一个在大量字符串中,获取图片链接的正则

有一个需求:文章的缩略图没有上传的时候,需要在富文本提交的文章中提取第一个图片作为缩略图。具体我是用的tp3.2框架,在模型中实现;具体代码如下

 protected function autoThumb(){
		//首先判断缩略图有没有上传
        if(empty($_POST['thumb'])){
		//如果没有上传在富文本中取出第一个图片作为缩略图
		//正则取出$_POST('content')文本中所有的图片链接;并返回给$matches;
            preg_match_all("/(?:src)=[\"|'| ]{0,}([^>]*\.(?:gif|jpg|jpeg|bmp|png))/is",  					  stripslashes($_POST['content']), $matches);//stripslashes()这个是去除反斜杠函数
			//只取第一个链接,并返回链接
            return count($matches[1]) > 0 ? array_shift($matches[1]): '';

        }else{

            return $_POST['thumb'];

        }

    }

这样即使不上传缩略图,只要文本中有图片,它也会自动存入数据库的!!!

你可能感兴趣的:(PHP)