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 处理TXT文件(打开/关闭/检查/读取)
May 13 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
PHP自定义序列化接口Serializable用法分析
Dec 29 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
简单的php购物车代码
Jun 05 PHP
让你的PHP,APACHE,NGINX支持大文件上传
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
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
中英文字符串翻转函数
2008/12/09 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
JS闭包的几种常见形式实例详解
2017/09/16 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
如何使用python操作vmware
2019/07/27 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
进程的查看和调度分别使用什么命令
2015/03/25 面试题
法学毕业生自荐信
2013/11/13 职场文书
《风筝》教学反思
2014/04/10 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
创业计划书之物流运送
2019/09/17 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers