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 mysql数据库操作类
Jun 04 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
php调用c接口无错版介绍
Mar 11 PHP
PHP 导出Excel示例分享
Aug 18 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
Thinkphp无限级分类代码
Nov 11 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
thinkPHP通用控制器实现方法示例
Nov 23 PHP
PHP简单实现记录网站访问量功能示例
Jun 06 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
Feb 12 PHP
PHP7数组的底层实现示例
Aug 25 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 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&amp;java(一)
2006/10/09 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
python创建临时文件夹的方法
2015/07/06 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
python的dataframe和matrix的互换方法
2018/04/11 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
多媒体专业自我鉴定
2014/02/28 职场文书
电焊工岗位职责
2014/03/06 职场文书
区级文明单位申报材料
2014/05/15 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
股东协议书范本2016
2016/03/21 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
Python开发五子棋小游戏
2022/04/28 Python