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 相关文章推荐
桌面中心(四)数据显示
Oct 09 PHP
php读取数据库信息的几种方法
May 24 PHP
PHP 文件类型判断代码
Mar 13 PHP
php处理斐波那契数列非递归方法
Feb 04 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
具有时效性的php加密解密函数代码
Jun 19 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
php输出图像的方法实例分析
Feb 16 PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 PHP
PHP如何根据文件头检测文件类型实例代码
Oct 14 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
php变量与字符串的增删改查操作示例
May 07 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 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
javascript AutoScroller 函数类
2009/05/29 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
Python读取word文本操作详解
2018/01/22 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python tkinter基本属性详解
2019/09/16 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
重构Python代码的六个实例
2020/11/25 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
机电一体化毕业生求职信
2013/11/02 职场文书
班级旅游计划书
2014/05/03 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
Log4j.properties配置及其使用
2021/08/02 Java/Android
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
vue中div禁止点击事件的实现
2022/04/02 Vue.js
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers