怎麼用PHP正則 去掉所有html標籤的屬性部分

來源:互聯網
上載者:User
<?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>

=============================================================================
Regex,去掉 <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>';//取widthpreg_match('/<img.+(width=\"?\d*\"?).+>/i',$word,$matches);echo $matches[1];//取heightpreg_match('/<img.+(height=\"?\d*\"?).+>/i',$word,$matches);echo $matches[1];//取srcpreg_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);?> 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.