首頁  >  文章  >  後端開發  >  php使用正規去除寬高樣式

php使用正規去除寬高樣式

jacklove
jacklove原創
2018-06-15 17:49:281686瀏覽

因工作需要,需要採集html,把html內容儲存到資料庫。為了避免影響使用,寬高樣式需要刪除。例如圖片和p中的width, height等。

不過採集到的html中,樣式的寫法各有不同,例如大小寫,中間有空格等。

因此使用php正規寫了下面這個方法,將這些奇葩的樣式過濾。

程式碼如下:

<?php/**
 * 清除宽高样式
 * @param  String $content 内容
 * @return String
 */function clear_wh($content){
    $config = array(&#39;width&#39;, &#39;height&#39;);    foreach($config as $v){        $content = preg_replace(&#39;/&#39;.$v.&#39;\s*=\s*\d+\s*/i&#39;, &#39;&#39;, $content);        $content = preg_replace(&#39;/&#39;.$v.&#39;\s*=\s*.+?["\&#39;]/i&#39;, &#39;&#39;, $content);        $content = preg_replace(&#39;/&#39;.$v.&#39;\s*:\s*\d+\s*px\s*;?/i&#39;, &#39;&#39;, $content);
    }    return $content;
}?>

#示範:##

<?php$html = <<<HTML
<p style="text-align:center" width="500" height="300">
    <p style="Width : 100px ; Height: 100 px;">
        <img src="/images/test.jpg" width=400 height = 200>
        <p style="float:left; width: 100px; height : 200 px;"></p>
    </p>
    <p style="width :   100 px ;height: 100px">
        <img src="/images/test.jpg" width=400 height = 200>
    </p>
</p>
HTML;echo &#39;<xmp>&#39;;echo &#39;原内容:&#39;.PHP_EOL;echo $html.PHP_EOL.PHP_EOL;echo &#39;过滤后内容:&#39;.PHP_EOL;echo clear_wh($html);echo &#39;</xmp>&#39;;
?>

輸出:

原内容:<p style="text-align:center" width="500" height="300">
    <p style="Width : 100px ; Height: 100 px;">
        <img src="/images/test.jpg" width=400 height = 200>
        <p style="float:left; width: 100px; height : 200 px;"></p>
    </p>
    <p style="width :   100 px ;height: 100px">
        <img src="/images/test.jpg" width=400 height = 200>
    </p></p>过滤后内容:<p style="text-align:center"  >
    <p style=" ">
        <img src="/images/test.jpg" >
        <p style="float:left;  "></p>
    </p>
    <p style="">
        <img src="/images/test.jpg" >
    </p></p>

本文講解了php使用正規去除寬高樣式,更多相關內容請關注php中文網。

相關推薦:

mysql表格資料行轉換方法

#nginx快速檢視設定檔的方法

php 多個一維數字組合拼成二維數組的方法

以上是php使用正規去除寬高樣式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn