【问题标题】:Parsing / Extracting the inside of an HTML Tag using Perl?使用 Perl 解析/提取 HTML 标记的内部?
【发布时间】:2010-07-08 18:48:37
【问题描述】:

过去几天我一直在搜索这个,但仍然没有找到一个明确的方法来做到这一点......我知道用 Perl 解析 HTML 以检索标签之间的文本很简单,但我需要取而代之的是实际检索标签内的文本,例如:

<input type="hidden" name="next_webapp_page" value=""/>

在这里,我想提取整个标签(或者可能是不包括“输入”一词的标签......我不想使用正则表达式,我更喜欢使用解析器,任何建议都值得赞赏。

【问题讨论】:

    标签: perl parsing


    【解决方案1】:

    使用HTML::TokeParser::Simple,查找input 标签并使用as_is 方法打印。示例:

    #!/usr/bin/perl
    
    use strict; use warnings;
    
    use HTML::TokeParser::Simple;
    
    my $parser = HTML::TokeParser::Simple->new(
        string => '<input type="hidden" name="next_webapp_page" value=""/>'
    );
    
    while ( my $tag = $parser->get_tag('input') ) {
        print $tag->as_is, "\n";
        for my $attr ( qw( type name value ) ) {
            printf qq{%s="%s"\n}, $attr, $tag->get_attr($attr);
        }
    }
    

    输出:

    &lt;input type="hidden" name="next_webapp_page" value=""/&gt;

    类型=“隐藏” 名称="next_webapp_page" 值=""

    【讨论】:

    • 谢谢...我一直在查看 tokeparser 的文档,但我想我错过了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2015-09-17
    • 2015-01-04
    • 2021-07-03
    • 2011-07-01
    • 2016-05-06
    相关资源
    最近更新 更多