本文实例讲述了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>
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools./regex/javascript
正则表达式在线生成工具:
http://tools./regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 正则
# 删除
# HTML代码
# 宽高样式
# php正则删除img标签的方法示例
# php正则删除html代码中class样式属性的方法
# PHP正则删除html代码中a标签并保留标签内容的方法
# php正则去除网页中所有的html
# js
# css
# 注释的实现方法
# 使用正则去除php代码中的注释方法
# php和editplus正则表达式去除空白行
# php使用正则表达式去掉html中的注释方法
# PHP正则表达式过滤html标签属性(DEMO)
# php过滤HTML标签、属性等正则表达式汇总
# php正则过滤html标签、空格、换行符的代码(附说明)
# php 正则 过滤html 的超链接
# 正则表达式
# 操作技巧
# 相关内容
# 感兴趣
# 给大家
# 写了
# 各有
# 更多关于
# 并把
# 为了避免
# 所述
# 数据库中
# 程序设计
# 再为
# 测试工具
# 讲述了
# param
# String
# content
# class
相关文章:
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
在线制作视频的网站有哪些,电脑如何制作视频短片?
建站之星安装后如何自定义网站颜色与字体?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何使用Golang安装API文档生成工具_快速生成接口文档
h5网站制作工具有哪些,h5页面制作工具有哪些?
C#怎么使用委托和事件 C# delegate与event编程方法
如何快速生成ASP一键建站模板并优化安全性?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
如何选择香港主机高效搭建外贸独立站?
如何在宝塔面板中修改默认建站目录?
如何在Golang中使用replace替换模块_指定本地或远程路径
如何通过VPS建站无需域名直接访问?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何快速搭建自助建站会员专属系统?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
购物网站制作公司有哪些,哪个购物网站比较好?
C++中引用和指针有什么区别?(代码说明)
如何选择美橙互联多站合一建站方案?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
贸易公司网站制作流程,出口贸易网站设计怎么做?
已有域名和空间,如何快速搭建网站?
如何在阿里云服务器自主搭建网站?
手机网站制作与建设方案,手机网站如何建设?
如何在香港服务器上快速搭建免备案网站?
如何通过服务器快速搭建网站?完整步骤解析
制作网站的公司有哪些,做一个公司网站要多少钱?
如何在万网ECS上快速搭建专属网站?
建站VPS推荐:2025年高性能服务器配置指南
公司网站的制作公司,企业网站制作基本流程有哪些?
建站之星logo尺寸如何设置最合适?
济南专业网站制作公司,济南信息工程学校怎么样?
北京网站制作网页,网站升级改版需要多久?
浅谈Javascript中的Label语句
宝塔面板如何快速创建新站点?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
一键网站制作软件,义乌购一件代发流程?
如何在Windows虚拟主机上快速搭建网站?
如何用花生壳三步快速搭建专属网站?
如何挑选最适合建站的高性能VPS主机?
宝塔面板创建网站无法访问?如何快速排查修复?
北京专业网站制作设计师招聘,北京白云观官方网站?
小型网站制作HTML,*游戏网站怎么搭建?
如何在万网开始建站?分步指南解析
子杰智能建站系统|零代码开发与AI生成SEO优化指南
平台云上自助建站如何快速打造专业网站?
css网站制作参考文献有哪些,易聊怎么注册?
*请认真填写需求信息,我们会在24小时内与您取得联系。