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 相关文章推荐
第五节--克隆
Nov 16 PHP
UTF8编码内的繁简转换的PHP类
Jul 09 PHP
php smarty模版引擎中的缓存应用
Dec 11 PHP
php中去除所有js,html,css代码
Oct 12 PHP
PHP中防止SQL注入实现代码
Feb 19 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 PHP
CentOS下PHP安装Oracle扩展
Feb 15 PHP
PHP处理postfix邮件内容的方法
Jun 16 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
Nov 11 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 PHP
Nginx+php配置文件及原理解析
Dec 09 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对数组排序代码分享
2014/02/24 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
动态显示可输入的字数提示还可以输入的字数
2014/04/01 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
setTimeout学习小结
2017/02/08 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python 转换文本编码实现解析
2019/08/27 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
python实现操作文件(文件夹)
2019/10/31 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
女性时尚在线:IVRose
2019/02/23 全球购物
编写strcpy函数
2014/06/24 面试题
团支书的期末学习总结自我评价
2013/11/01 职场文书
学习标兵获奖感言
2014/02/20 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
保护环境的建议书
2014/03/12 职场文书
环境保护标语
2014/06/20 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
初中作文评语集锦
2014/12/25 职场文书