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 截取字符串专题集合
Aug 19 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
php 操作符与控制结构
Mar 07 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
php像数组一样存取和修改字符串字符
Mar 21 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
利用php生成验证码
Feb 23 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
JavaScript实现删除电脑的关机键
2016/07/26 PHP
jQuery示例收集
2010/11/05 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
Python中实现的RC4算法
2015/02/14 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
智利最大的网上商店:Linio智利
2016/11/24 全球购物
法国房车租赁网站:Yescapa
2019/08/26 全球购物
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
教师岗位职责
2013/11/17 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
暑期培训随笔感言
2014/03/10 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
七年级作文之冬景
2019/11/07 职场文书
导游词之西安骊山
2019/12/20 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python