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注入点构造代码
Jun 14 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
php用header函数实现301跳转代码实例
Nov 25 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
33道php常见面试题及答案
Jul 06 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP设计模式之观察者模式定义与用法示例
Aug 04 PHP
laravel orm 关联条件查询代码
Oct 21 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
WordPress判断用户是否登录的代码
2011/03/17 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
php反射应用示例
2014/02/25 PHP
php中opendir函数用法实例
2014/11/15 PHP
php目录拷贝实现方法
2015/07/10 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
JavaScript 学习笔记之语句
2015/01/14 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
Python字符串处理实现单词反转
2017/06/14 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
Python逐行读取文件中内容的简单方法
2019/02/26 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
python logging 日志的级别调整方式
2020/02/21 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
复核员上岗演讲稿
2014/01/05 职场文书
个人作风剖析材料
2014/02/02 职场文书
市政管理求职信范文
2014/05/07 职场文书
英语专业毕业生求职信
2014/05/24 职场文书
遗失证明范文
2015/06/19 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers