删除html页面样式标记

时间:2017-01-01 19:43:39

标签: perl cgi

我试图删除HTML样式标记和所有内容,因此页面没有样式我似乎无法让它工作

这就是我所拥有的

$PageContent = qq~<style type="text/css">
/* PAGE STYLE */
body {
      margin:24px;
      padding:0px;
      background:#323232;
      color:#EEEEEE;
      min-width:748px;
      font-family:'Verdana', sans-serif;
      font-size:9pt;
      font-weight:500;
      line-height:12pt;
      text-decoration: none;
}</style>~;

$PageContent =~ s/<style.*?<\/style>//isg;

print $PageContent;

1 个答案:

答案 0 :(得分:1)

您可以使用像Mojo::DOM这样的HTML DOM解析器。

use Mojo::DOM;
use strict;
use warnings;

my $dom = Mojo::DOM->new;
my $html = "<div><div><div>Test</div></div></div>";

while($html =~ m/<div>/) {
   $html = $dom->parse($html)->at('div')->strip;
}

print $html;

Output: Test

还可以使用其中一个DOM函数来匹配<div>标记。在我的示例中,$html =~ m/div/行仅用于简单的演示目的。