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 相关文章推荐
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
php加密解密函数authcode的用法详细解析
Oct 28 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
Mar 07 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
php求数组全排列,元素所有组合的方法总结
Mar 14 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 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 + WebUploader实现图片批量上传功能
2019/05/06 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
基于jquery的无刷新分页技术
2011/06/11 Javascript
js单例模式详解实例
2013/11/21 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Android分包MultiDex策略详解
2017/10/30 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
python多线程抽象编程模型详解
2019/03/20 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
2014年学校禁毒工作总结
2014/12/23 职场文书
校友回访母校寄语
2015/02/26 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
详解Java实践之适配器模式
2021/06/18 Java/Android
Nginx报404错误的详细解决方法
2022/07/23 Servers