Home  >  Article  >  Backend Development  >  Instructions on how to use regex to delete width and height styles in HTML code in php

Instructions on how to use regex to delete width and height styles in HTML code in php

怪我咯
怪我咯Original
2017-07-05 10:41:541045browse

This article mainly introduces the method of PHP regular deleting the width and height styles in HTML code, involving PHP regular matching, replacement and other operating skills for HTML code. Friends in need can refer to the following

The example of this article describes the method of PHP regular deletion of width and height styles in HTML code. Share it with everyone for your reference, the details are as follows:

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, picture and width, height, etc. in p.

However, in the collected HTML, the styles are written in different ways, 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>

The above is the detailed content of Instructions on how to use regex to delete width and height styles in HTML code in php. 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