• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php使用正则去除宽高样式

php 搞代码 3年前 (2022-01-22) 29次浏览 已收录 0个评论

因工作需要,需要采集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 = <<<HTML<p style="text-align:center" width="500" height="300">    <p style="Width : 100px ; Height: 100 px;">        <img src="/images/test.jpg" width=400 height = 200>        <p style="float:left; width: 100px; height : 200 px;"></p>    </p>    <p <div style="color:transparent">本&文来源gaodai^.ma#com搞#代!码网</div><strong>搞gaodaima代码</strong>style="width :   100 px ;height: 100px">        <img src="/images/test.jpg" width=400 height = 200>    </p></p>HTML;echo '<xmp>';echo '原内容:'.PHP_EOL;echo $html.PHP_EOL.PHP_EOL;echo '过滤后内容:'.PHP_EOL;echo clear_wh($html);echo '</xmp>';?>

输出:

原内容:<p style="text-align:center" width="500" height="300">    <p style="Width : 100px ; Height: 100 px;">        <img src="/images/test.jpg" width=400 height = 200>        <p style="float:left; width: 100px; height : 200 px;"></p>    </p>    <p style="width :   100 px ;height: 100px">        <img src="/images/test.jpg" width=400 height = 200>    </p></p>过滤后内容:<p style="text-align:center"  >    <p style=" ">        <img src="/images/test.jpg" >        <p style="float:left;  "></p>    </p>    <p style="">        <img src="/images/test.jpg" >    </p></p>

本文讲解了php使用正则去除宽高样式,更多相关内容请随时关注我们网站!

相关推荐:

mysql表数据行列转换方法

nginx快速查看配置文件的方法

php 多个一维数组合拼成二维数组的方法

以上就是php使用正则去除宽高样式的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php使用正则去除宽高样式
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址