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 session 错误
May 21 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
在php中设置session用memcache来存储的方法总结
Jan 14 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
Mar 21 PHP
php实现学生管理系统
Mar 21 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
Laravel模型间关系设置分表的方法示例
Apr 21 PHP
PHP addcslashes()函数讲解
Feb 03 PHP
PHP中Session ID的实现原理实例分析
Aug 17 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
基于PHP实现邮箱验证激活过程详解
Oct 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中ini_set和ini_get函数的用法小结
2014/02/18 PHP
PHP+APACHE实现网址伪静态
2015/02/22 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
python如何实现excel数据添加到mongodb
2015/07/30 Python
python中import学习备忘笔记
2017/01/24 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
高三自我鉴定怎么写
2013/10/19 职场文书
幼儿园家长会欢迎词
2014/01/09 职场文书
经典促销广告词大全
2014/03/19 职场文书
年会主持人开场白台词
2015/05/29 职场文书
大学生读书笔记大全
2015/07/01 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
win10搭建配置ftp服务器的方法
2022/08/05 Servers