php正则去掉width=,关于php使用正则去除宽高样式的方法

5268f80b9b1e01f982625ef6fac83ca1.png

因工作需要,需要采集html,并把html内容保存到数据库中。为了避免影响使用,宽高样式需要删除。例如图片和p中的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 = <<

test.jpg

test.jpg

HTML;echo '

';echo '原内容:'.PHP_EOL;echo $html.PHP_EOL.PHP_EOL;echo '过滤后内容:'.PHP_EOL;echo clear_wh($html);echo '';

?>

输出:原内容:

test.jpg

test.jpg

test.jpg

test.jpg

本篇讲解php使用正则去除宽高样式的方法,更多相关内容请关注Gxl网。

相关推荐:

详解文件内容去重及排序 的相关内容

解读mysql大小写敏感配置问题

如何使用php合并数组并保留键值的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值