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与SQL注入攻击[三]
Apr 17 PHP
真正的ZIP文件操作类(php)
Jul 21 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
PHP 日志缩略名的创建函数代码
May 26 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
php HandlerSocket的使用
May 02 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
Jul 18 PHP
第四章 php数学运算
Dec 30 PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
深入浅析php json 格式控制
Dec 24 PHP
PHP7 其他修改
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
用PHP读取IMAP邮件
2006/10/09 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
javaScript对象和属性的创建方法
2007/01/15 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
python集合类型用法分析
2015/04/08 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
django框架cookie和session用法实例详解
2019/12/10 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
python爬虫如何解决图片验证码
2021/02/14 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
学生自我鉴定范文
2013/10/04 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
运动会口号16字
2014/06/07 职场文书
校本课程教学计划
2015/01/19 职场文书
开会通知短信大全
2015/04/20 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript