php正则取img标识中自便属性(正则替换去掉或改换图片img标识中的任性属性)

 

因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了):

<?php
/*正则取图片img标记中的任意属性*/

简单版

简单版:

 代码如下

复制代码 代码如下:

$word = ‘<p height=”22″ align=”cenetr”>111 22</p> <img
src=”/upload/images/aaa.jpg”    width=”100″ height=”50″/><div
style=”float:left;”>中国人</div>’;
//取整个图片代码
preg_match(‘/<img(.[^<]*)src=”?(.[^<“]*)”?(.[^<|/]*)/?>/is’,$word,$matches);
echo $matches[0];//结果:<img src=”/upload/images/aaa.jpg”
width=”100″>

<?php  
header("Content-Type: text/html;charset=utf-8");  

$str = '<div class="ui-block-a" align="center">  
        <a href="online-39.html">![](http://www.smsyun.com/uploads/image/20140620/2014052010425.jpg)  
        <h3>2014年</h3></a>  
      </div>';  

$imgpreg = "/<img (.*?) src=\"(.+?)\".*?>/";  
preg_match($imgpreg,$str,$img);  
$mycount=count($img)-1;  
 $imgval = $iim[$mycount];  
if(!empty($imgval)){  
    echo $imgval;  
}else{  
    echo 'no';  
}  
?>  
<?php
header("Content-Type: text/html;charset=utf-8");

$str = '<div class="ui-block-a" align="center">
        <a href="online-39.html"><img class="lazy" width="131" height="177" src="http://www.smsyun.com/uploads/image/20140620/2014052010425.jpg"/>
        <h3>2014年</h3></a>
      </div>';

$imgpreg = "/<img (.*?) src=\"(.+?)\".*?>/";
preg_match($imgpreg,$str,$img);
$mycount=count($img)-1;
 $imgval = $iim[$mycount];
if(!empty($imgval)){
    echo $imgval;
}else{
    echo 'no';
}
?>

<?php
/*PHP正则提取图片img标记中的任意属性*/
$str = ‘<center><img src=”/uploads/images/20100516000.jpg”
height=”120″ width=”120″><br
/>PHP正则提取或更改图片img标记中的任意属性</center>’;

<?php
/*正则取图片img标记中的任意属性*/

$word = ‘<p height=”22″ align=”cenetr”>111 22</p> <img 
height=”60″ src=”/upload/images/aaa.jpg”    width=”100″
style=><div style=”float:left;”>中国人</div>’;
//取width
preg_match(‘/<img.+(width=”?d*”?).+>/i’,$word,$matches);
echo $matches[1];

详细版

详细版:

//1、取整个图片代码
preg_match(‘/<s*imgs+[^>]*?srcs*=s*(‘|”)(.*?)\1[^>]*?/?s*>/i’,$str,$match);
echo $match[0];

$word = ‘<p height=”22″ align=”cenetr”>111 22</p> <img
src=”” width=”100″><div
style=”float:left;”>中国人</div>’;
//取整个图片代码
preg_match(‘/</s*img/s+[^>]*?src/s*=/s*(/’|/”)(.*?)//1[^>]*?//?/s*>/i’,$word,$matches);
echo $matches[0];//结果:<img
src=”” width=”100″>

//取height
preg_match(‘/<img.+(height=”?d*”?).+>/i’,$word,$matches);
echo $matches[1];

<?php  
/*PHP正则提取图片img标记中的任意属性*/  
$str = '<center>![](/uploads.jpg)<br />PHP正则提取或更改图片img标记中的任意属性</center>';  

//1、取整个图片代码  
preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);  
echo $match[0];  

//2、取width  
preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);  
echo $match[1];  

//3、取height  
preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);  
echo $match[1];  

//4、取src  
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);  
echo $match[1];  

/*PHP正则替换图片img标记中的任意属性*/  
//1、将src="/uploads.jpg"替换为src="/uploads/uc.jpg")  
print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc\${3}",$str);  
echo "<hr/>";  

//2、将src="/uploads.jpg"替换为src="/uploads/uc.jpg",并省去宽和高  
print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc\${3}>",$str);  
?>  
<?php
/*PHP正则提取图片img标记中的任意属性*/
$str = '<center><img src="/uploads.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>';

//1、取整个图片代码
preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);
echo $match[0];

//2、取width
preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];

//3、取height
preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];

//4、取src
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);
echo $match[1];

/*PHP正则替换图片img标记中的任意属性*/
//1、将src="/uploads.jpg"替换为src="/uploads/uc.jpg")
print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc\${3}",$str);
echo "<hr/>";

//2、将src="/uploads.jpg"替换为src="/uploads/uc.jpg",并省去宽和高
print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc\${3}>",$str);
?>

//2、取width
preg_match(‘/<img.+(width=”?d*”?).+>/i’,$str,$match);
echo $match[1];

$word = ‘<p height=”22″ align=”cenetr”>111 22</p> <img
height=”60″ src=”” width=100
style=><div style=”float:left;”>中国人</div>’;
//取width
preg_match(‘/<img.+(width=/”?/d*/”?).+>/i’,$word,$matches);
echo $matches[1];

//取src
preg_match(‘/<img.+src=”?(.+.(jpg|gif|bmp|bnp|png))”?.+>/i’,$word,$matches);
echo $matches[1];

//3、取height
preg_match(‘/<img.+(height=”?d*”?).+>/i’,$str,$match);
echo $match[1];

//取height
preg_match(‘/<img.+(height=/”?/d*/”?).+>/i’,$word,$matches);
echo $matches[1];

/*正则替换去掉或改变图片img标记中的任意属性***************************************************************/
$str = ‘<p height=”22″ align=”cenetr”>111 22</p> <img 
height=”60″ src=”/upload/images/aaa.jpg”    width=100 style=><div
style=”float:left;”>中国人</div><p height=”22″
align=”cenetr”>31313 224344</p> <img
src=”/upload/images/bbb.jpg”  height=”60″    width=100 style=><div
style=”float:left;”>1212121</div>’;

//4、取src
preg_match(‘/<img.+src=”?(.+.(jpg|gif|bmp|bnp|png))”?.+>/i’,$str,$match);
echo $match[1];

//取src
preg_match(‘/<img.+src=/”?(.+/.(jpg|gif|bmp|bnp|png))/”?.+>/i’,$word,$matches);
echo $matches[1];

//改变src属性(此处将原来的src=”/upload/images/bbb.jpg”改变为src=”/upload/_thumbs/Images/bbb.jpg”)
print
preg_replace(‘/(<img.+src=”?.+)(images/)(.+.(jpg|gif|bmp|bnp|png)”?.+>)/i’,”${1}_thumbs/Images/${3}”,$str);

/*PHP正则替换图片img标记中的任意属性*/
//1、将src=”/uploads/images/20100516000.jpg”替换为src=”/uploads/uc/images/20100516000.jpg”)
print
preg_replace(‘/(<img.+src=”?.+)(images/)(.+.(jpg|gif|bmp|bnp|png)”?.+>)/i’,”${1}uc/images/${3}”,$str);
echo “<hr/>”;

/*正则替换去掉或改变图片img标记中的任意属性***************************************************************/
$str = ‘<p height=”22″ align=”cenetr”>111 22</p> <img
height=”60″ src=”” width=100
style=><div style=”float:left;”>中国人</div>
<p height=”22″ align=”cenetr”>31313 224344</p> <img
src=”” height=”60″ width=100
style=><div style=”float:left;”>1212121</div>’;

/*改变src属性,
此处将原来的src=”/upload/images/bbb.jpg”改变为src=”/upload/_thumbs/Images/bbb.jpg”,并舍弃宽和高
(比如你想在前台显示缩略图,但数据库教程中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???)
*/
print
preg_replace(‘/(<img).+(src=”?.+)images/(.+.(jpg|gif|bmp|bnp|png)”?).+>/i’,”${1}
${2}_thumbs/Images/${3}>”,$str);

//2、将src=”/uploads/images/20100516000.jpg”替换为src=”/uploads/uc/images/20100516000.jpg”,并省去宽和高
print
preg_replace(‘/(<img).+(src=”?.+)images/(.+.(jpg|gif|bmp|bnp|png)”?).+>/i’,”${1}
${2}uc/images/${3}>”,$str);

//改变src属性(此处将原来的src=””)
print
preg_replace(‘/(<img.+src=/”?.+)(images//)(.+/.(jpg|gif|bmp|bnp|png)/”?.+>)/i’,”/${1}_thumbs/Images//${3}”,$str);

/*改变src属性,
此处将原来的src=”
(比如你想在前台显示缩略图,但数据库中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???)
*/
print
preg_replace(‘/(<img).+(src=/”?.+)images//(.+/.(jpg|gif|bmp|bnp|png)/”?).+>/i’,”/${1}
/${2}_thumbs/Images//${3}>”,$str);
?>

正则取图片img标记中的任意属性

您可能感兴趣的文章:

  • PHP preg_replace()
    正则替换所有符合条件的字符串
  • PHP
    字符串正则替换函数preg_replace使用说明
  • PHP正则替换函数preg_replace和preg_replace_callback使用总结
  • 如何在PHP中使用正则表达式进行查找替换
  • PHP
    html标签正则替换并可自定义正则规则
  • PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
  • php正则替换变量指定字符的方法
  • php中正则替换函数ereg_replace用法实例
  • php
    preg_filter执行一个正则表达式搜索和替换
  • php中preg_replace正则替换用法分析【一次替换多个值】
  • PHP实现通过正则表达式替换回调的内容标签
  • PHP实现将标点符号正则替换为空格的方法

 代码如下

$word = ‘<p height=”22″
align=”cenetr”>111 22</p> <img src=”/upload/images/aaa.jpg”
width=”100″><div style=”float:left;”>中国人</div>’;
//取整个图片代码
preg_match(‘/</s*img/s+[^>]*?src/s*=/s*(/’|/”)(.*?)//1[^>]*?//?/s*>/i’,$word,$matches);
echo $matches[0];//结果:<img src=”/upload/images/aaa.jpg”
width=”100″>

$word = ‘<p height=”22″ align=”cenetr”>111 22</p> <img
height=”60″ src=”/upload/images/aaa.jpg” width=100 style=><div
style=”float:left;”>中国人</div>’;
//取width
preg_match(‘/<img.+(width=/”?/d*/”?).+>/i’,$word,$matches);
echo $matches[1];

//取height
preg_match(‘/<img.+(height=/”?/d*/”?).+>/i’,$word,$matches);
echo $matches[1];

//取src
preg_match(‘/<img.+src=/”?(.+/.(jpg|gif|bmp|bnp|png))/”?.+>/i’,$word,$matches);
echo $matches[1];

/*正则替换去掉或改变图片img标记中的任意属性***************************************************************/
$str = ‘<p height=”22″ align=”cenetr”>111 22</p> <img
height=”60″ src=”/upload/images/aaa.jpg” width=100 style=><div
style=”float:left;”>中国人</div>
<p height=”22″ align=”cenetr”>31313 224344</p> <img
src=”/upload/images/bbb.jpg” height=”60″ width=100 style=><div
style=”float:left;”>1212121</div>’;

//改变src属性(此处将原来的src=”/upload/images/bbb.jpg”改变为src=”/upload/_thumbs/Images/bbb.jpg”)
print
preg_replace(‘/(<img.+src=/”?.+)(images//)(.+/.(jpg|gif|bmp|bnp|png)/”?.+>)/i’,”/${1}_thumbs/Images//${3}”,$str);

/*改变src属性,
此处将原来的src=”/upload/images/bbb.jpg”改变为src=”/upload/_thumbs/Images/bbb.jpg”,并舍弃宽和高
(比如你想在前台显示缩略图,但数据库中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???)
*/
print
preg_replace(‘/(<img).+(src=/”?.+)images//(.+/.(jpg|gif|bmp|bnp|png)/”?).+>/i’,”/${1}
/${2}_thumbs/Images//${3}>”,$str);
?>

相关文章