我在在线编辑器里输入一段文字并且插入了一张图片,提交到后台后,得到获取到的数据是:sadsadasda<IMG src=\"http://www.ct.com/uploadfile/200901141231909849.jpg\">这段内容插入到数据表的content字段,但是我想将这段数据的src里的内容提出http://www.ct.com/uploadfile/200901141231909849.jpg插入到数据表的image_url字段里,怎么提取?
调试欢乐多
preg_match_all("/<img[^>]*src=[\'\"\s]*([^\s\'\"]+)[^>]*>/i", $data, $match);
print_r($match);//结果如下
Array
(
[0] => Array
(
[0] => <IMG src="http://www.ct.com/uploadfile/200901141231909849.jpg">
[1] => <IMG src="http://www.ct.com/uploadfile/200901141231909849.jpg">
[2] => <IMG src="http://www.ct.com/uploadfile/200901141231909849.jpg">
) [1] => Array
(
[0] => http://www.ct.com/uploadfile/200901141231909849.jpg
[1] => http://www.ct.com/uploadfile/200901141231909849.jpg
[2] => http://www.ct.com/uploadfile/200901141231909849.jpg
))但你那个sadsadasda <IMG src=\"http://www.ct.com/uploadfile/200901141231909849.jpg\"> 有加了反斜杠..就把正则写再转义之前把~
那么正则取匹配,不过这种方式有很多不足
<?php
$str="sadsadasda <IMG src=\"http://www.ct.com/uploadfile/200901141231909849.jpg\"> ";preg_match('/ <IMG.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim',$str,$match);echo $match[1];
?>