Home  >  Article  >  Backend Development  >  Use PHP regularity to remove width and height styles in HTML code

Use PHP regularity to remove width and height styles in HTML code

巴扎黑
巴扎黑Original
2017-08-05 13:19:081323browse

This article introduces the method of PHP regular deletion of width and height styles in HTML code, involving PHP regular matching, replacement and other operating techniques for HTML code, as follows:

Need 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 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 styles.


<?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 Use PHP regularity to remove width and height styles in HTML code. 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