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单例模式实现(对象只被创建一次)
Dec 05 PHP
php5.2以下版本无json_decode函数的解决方法
May 25 PHP
php获取网页请求状态程序示例
Jun 17 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
PHP面向对象精要总结
Nov 07 PHP
php生成圆角图片的方法
Apr 07 PHP
使用PHP编写发红包程序
Jul 22 PHP
ThinkPHP安装和设置
Jul 27 PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 PHP
php 数组元素快速去重
May 05 PHP
Laravel框架查询构造器简单示例
May 08 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
js 字符串转换成数字的三种方法
2013/03/23 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
新郎新娘婚礼答谢词
2014/01/11 职场文书
社区活动邀请函范文
2014/01/29 职场文书
社区国庆节活动方案
2014/02/05 职场文书
文化活动实施方案
2014/03/28 职场文书
远程培训的心得体会
2014/09/01 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
储备店长岗位职责
2015/04/14 职场文书
培训班通知
2015/04/25 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
《秋思》教学反思
2016/02/23 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
HAM-2000摩机图
2021/04/22 无线电
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python
再谈python_tkinter弹出对话框创建
2022/03/20 Python