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初学者头痛的十四个问题
Jul 12 PHP
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
谈谈PHP语法(5)
Oct 09 PHP
php IP及IP段进行访问限制的代码
Dec 17 PHP
基于php验证码函数的使用示例
May 03 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
php动态绑定变量的用法
Jun 16 PHP
PHP中JSON的应用技巧
Oct 10 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
Yii 实现数据加密和解密
Mar 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
代理协议书范本
2014/04/22 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
奠基仪式策划方案
2014/05/15 职场文书
人力资源管理求职信
2014/08/07 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
2014年保洁工作总结
2014/11/24 职场文书
离职信范本
2015/06/23 职场文书