• Jeff   2014/12/15 13:08:00
  • 如何去掉所有html标签的属性部分?
  • 关键字: 正则表达式 去掉属性 标签
    1. <?php  
    2. $str = '<div class="a1" id="gawf">  
    3. pad第一的内容133  
    4. <div style="width:100px">内容1</div>  
    5. <span style="height:px">asdasdkjasd内容</span>  
    6. <a href="#">任意的链接</a>  
    7. 后茜  
    8. </div>';  
    9. $str = preg_replace('~<([a-z]+?)\s+?.*?>~i','<$1>',$str);  
    10. highlight_string($str);  
    11. ?>  

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

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

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

     或

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

     

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

    1. <?php  
    2. /*正则取图片img标记中的任意属性*/  
    3. $word = '<p height="22" align="cenetr">111 22</p> <img height="60" src="/upload/images/aaa.jpg"   
    4. width=100 style=><div style="float:left;">中国人</div>';  
    5. //取width  
    6. preg_match('/<img.+(width=\"?\d*\"?).+>/i',$word,$matches);  
    7. echo $matches[1];  
    8.   
    9. //取height  
    10. preg_match('/<img.+(height=\"?\d*\"?).+>/i',$word,$matches);  
    11. echo $matches[1];  
    12.   
    13. //取src  
    14. preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$word,$matches);  
    15. echo $matches[1];  
    16.   
    17. /*正则替换去掉或改变图片img标记中的任意属性***************************************************************/  
    18. $str = '<p height="22" align="cenetr">111 22</p> <img height="60" src="/upload/images/aaa.jpg"   
    19.  width=100 style=><div style="float:left;">中国人</div>  
    20. <p height="22" align="cenetr">31313 224344</p> <img src="/upload/images/bbb.jpg" height="60"  
    21.  width=100 style=><div style="float:left;">1212121</div>';  
    22.   
    23.   
    24. //改变src属性(此处将原来的src="/upload/images/bbb.jpg"改变为src="/upload/_thumbs/Images/bbb.jpg")  
    25. print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}_thumbs/Images/\${3}",$str);  
    26.   
    27.   
    28. /*改变src属性, 
    29. 此处将原来的src="/upload/images/bbb.jpg"改变为src="/upload/_thumbs/Images/bbb.jpg",并舍弃宽和高 
    30. (比如你想在前台显示缩略图,但数据库中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???) 
    31. */  
    32. print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}_thumbs/Images/\${3}>",$str);  
    33.   
    34. ?>   

大家的回答
  • 还没有人回答这个问题哦,亲,快来帮帮TA吧
  •   我来回答
  • 注册用户登录后才能发表评论,请 登录注册
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款