用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);  
      
    ?>   

 

posted @ 2017-05-02 08:20  chinall  阅读(2512)  评论(0编辑  收藏  举报