Home  >  Article  >  Backend Development  >  PHP uses regular expressions to remove width and height styles

PHP uses regular expressions to remove width and height styles

jacklove
jackloveOriginal
2018-06-15 17:49:281686browse

Due to work needs, it is necessary to collect html and save the html content into the database. In order to avoid affecting usage, the width and height styles need to be deleted. For example, width, height, etc. in pictures and p.

However, in the collected HTML, the styles are written differently, such as upper and lower case, spaces in the middle, etc.

So I wrote the following method using PHP regular to filter these weird styles.

The code is as follows:

<?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;
}?>

Demo:

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

Output:

原内容:<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>

This article explains how PHP uses regular rules to remove width and height styles. For more related content, please pay attention to the PHP Chinese website.

Related recommendations:

Mysql table data row and column conversion method

nginx method to quickly view the configuration file

php How to combine multiple one-dimensional arrays into a two-dimensional array

The above is the detailed content of PHP uses regular expressions to remove width and height styles. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn