PHP正则删除HTML代码中宽高样式的方法


Posted in PHP onJune 12, 2017

本文实例讲述了PHP正则删除HTML代码中宽高样式的方法。分享给大家供大家参考,具体如下:

因工作需要,需要采集html,并把html内容保存到数据库中。为了避免影响使用,宽高样式需要删除。例如图片和div中的width, height等。

不过采集到的html中,样式的写法各有不同,例如大小写,中间有空格等。

因此使用php正则编写了下面这个方法,对这些奇葩的样式进行过滤。

代码如下:

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

演示:

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

输出:

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

过滤后内容:
<div style="text-align:center" >
  <div style=" ">
    <img src="/images/test.jpg" >
    <div style="float:left; "></div>
  </div>
  <div style="">
    <img src="/images/test.jpg" >
  </div>
</div>
PHP 相关文章推荐
Wordpress php 分页代码
Oct 21 PHP
C#静态方法与非静态方法实例分析
Sep 22 PHP
Thinkphp中的curd应用实用要点
Jan 04 PHP
php+xml编程之xpath的应用实例
Jan 24 PHP
php安装swoole扩展的方法
Mar 19 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
PHP内存使用情况如何获取
Oct 10 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 #PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 #PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 #PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 #PHP
PHP中error_reporting函数用法详细介绍
Jun 11 #PHP
详解PHP处理字符串类似indexof的方法函数
Jun 11 #PHP
PHP获取文件扩展名的方法实例总结
Jun 10 #PHP
You might like
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
php xml实例 留言本
2009/03/20 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
了解前端理论:rscss和rsjs
2019/05/23 Javascript
用Python实现大文本文件切割的方法
2019/01/12 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
python图形用户接口实例详解
2019/12/16 Python
tensorflow之并行读入数据详解
2020/02/05 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
应届毕业生个人自荐信范文
2013/11/30 职场文书
《自然之道》教学反思
2014/02/11 职场文书
个人承诺书
2014/03/26 职场文书
团队拓展活动总结
2014/08/27 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
关于python爬虫应用urllib库作用分析
2021/09/04 Python