怎么用PHP正则 去掉所有html标签的属性部分

<?php
$str = '<div class="a1" id="gawf">
pad第一的内容133
<div style="width:100px">内容1</div>
<span style="height:px">asdasdkjasd内容</span>
<a href="#">任意的链接</a>
后茜
</div>';
$str = preg_replace('~<([a-z]+?)\s+?.*?>~i','<$1>',$str);
highlight_string($str);
?>

输出结果:
<div>
pad第一的内容133
<div>内容1</div>
<span>asdasdkjasd内容</span>
<a>任意的链接</a>
后茜
</div>


=============================================================================
正则表达式,去掉 <img>里alt的内容

$str ='<img href="#" ALT="ceshi" >';
echo htmlspecialchars($str)."<br>";
echo htmlspecialchars(preg_replace("/(.*)(alt=[\"\']?.*[\"\']?\s+)(.*)/i","\${1}\${3}",$str));//要确保ALT="ceshi"后有空格 否则无法匹

 或

echo preg_replace("|(<img*.)(alt=[\"|']?.*['|\"])(.*/?>)|iu","$1$2",$str);   //未测试验证

 

==============================================================================
php正则取img标记中任意属性,正则替换去掉或改变图片img标记中的任意属性

<?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];

//取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);

?> 


 









  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值