//函数名:get_image_fromcontent( &$content)
//作用:在含有HTML标签并带有图片的内容中过滤出图片地址(去除图片样式只保留图片地址)
//参数:$content(待过滤的字符串)
//返回值:字符串
//备注:数据库中查询带图片的内容最有效的查询语句-- ***(查询项) REGEXP '<\s*img[^>]+src\s*=\s*[^>]+>'
private function get_image_fromcontent( &$content)
{
//获取内容中图片
//取得第一个匹配的图片路径
$retimg="";
$matches=null;
//标准的src="xxxxx"或者src='xxxxx'写法
preg_match("/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i", $content, $matches);
if(isset($matches[2])){
$retimg=$matches[2];
unset($matches);
return $retimg;
}
//非标准的src=xxxxx 写法
unset($matches);
$matches=null;
preg_match("/<\s*img\s+[^>]*?src\s*=\s*(.*?)[\s\"\'>][^>]*?\/?\s*>/i", $content, $matches);
if(isset($matches[1])){
$retimg=$matches[1];
}
unset($matches);
return $retimg;
}
//作用:在含有HTML标签并带有图片的内容中过滤出图片地址(去除图片样式只保留图片地址)
//参数:$content(待过滤的字符串)
//返回值:字符串
//备注:数据库中查询带图片的内容最有效的查询语句-- ***(查询项) REGEXP '<\s*img[^>]+src\s*=\s*[^>]+>'
private function get_image_fromcontent( &$content)
{
//获取内容中图片
//取得第一个匹配的图片路径
$retimg="";
$matches=null;
//标准的src="xxxxx"或者src='xxxxx'写法
preg_match("/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i", $content, $matches);
if(isset($matches[2])){
$retimg=$matches[2];
unset($matches);
return $retimg;
}
//非标准的src=xxxxx 写法
unset($matches);
$matches=null;
preg_match("/<\s*img\s+[^>]*?src\s*=\s*(.*?)[\s\"\'>][^>]*?\/?\s*>/i", $content, $matches);
if(isset($matches[1])){
$retimg=$matches[1];
}
unset($matches);
return $retimg;
}
$image_html = '<P align=center><IMG alt="abc" src="http://img1.qq.com/ent/pics/7274/7274403.jpg]http://img1.qq.com/ent/pics/7274/7274403.jpg" border=1>';
preg_match_all('/<IMG.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $image_html, $strResult);
for($i = 0; $i < count($strResult[1]); $i++)
{
printf("%d %s \n", $i, $strResult[1][$i], $strResult[2][$i]);
} ?>
$patten = '/<img.*?>/i';
$str = preg_replace($patten,'',$str);
echo $str;替换,找到了一个正则,结贴。谢了
//提取url
$pattern="|<img[^>]*?src="([^>]*?)".*?> |is"; //本匹配只匹配符合规xhtml规范的src属性
$regcount=preg_match_all($pattern,$text,$arr,PREG_SET_ORDER); //将正则结果存在substr数组中
echo '<pre>';
print_r($arr);
echo '</pre>';
//删除img
preg_replace ('/<img.*?>/is','', $text )