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

關於php使用正規去除寬高樣式的方法

jacklove
jacklove原創
2018-06-08 17:12:372148瀏覽

因工作需要,需要採集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大小寫敏感設定問題

如何使用php合併陣列並保留鍵值的方法
#

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

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