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 相关文章推荐
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
php实现快速排序法函数代码
Aug 27 PHP
基于empty函数的输出详解
Jun 17 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
thinkphp使用literal防止模板标签被解析的方法
Nov 22 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
Yii快速入门经典教程
Dec 28 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
Smarty模板配置实例简析
Jul 20 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
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
javascript中检测变量的类型的代码
2010/12/28 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
python实现朴素贝叶斯分类器
2018/03/28 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
Django如何自定义分页
2018/09/25 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
大学生的四年学习自我评价
2013/12/13 职场文书
小学毕业家长寄语
2014/01/19 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
小学教师自我评价
2015/03/04 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python