字符串替换&与&在Perl

时间:2015-08-18 11:34:25

标签: perl

我有一个脚本(Perl),它从数据库中通过变量获取字符串并写入xml文件。如果字符串包含"&" ,那么在打开xml文件时,它会让解析器错误,想要替换"&" 通过Perl脚本使用& amp

这就是我试过的

foreach my $ActiveLinkInfo ( @ActiveLinkInfos ) {

    my ( $SubCID, $Subf, $Subt, $Subclosed, $SubCName ) = (
        $ActiveLinkInfo->{'SubCID'},
        $ActiveLinkInfo->{'Subf'},
        $ActiveLinkInfo->{'Subt'},
        $ActiveLinkInfo->{'Subclosed'},
        $ActiveLinkInfo->{'SubCName'}
    );

    #@$ActiveLinkInfo

    if ( $Subf eq "HEADING" ) {
        push( @menu, { "Name" => "$SubCName", "Dir" => "HEADING" } );
    }
    else {
        my $res = GetChildren( "$path$SubCID\\", $SubCID, $VID );
        $SubCName =~ s/ - .*//;
        push( @menu, { "Name" => "$SubCName", "Dir" => "$SubCID/default.aspx" } );
    }
}

2 个答案:

答案 0 :(得分:0)

如果您尝试将文字转换为HTML,请使用HTML::Entities

答案 1 :(得分:0)

您应该查看HTML::Escape模块,该模块仅在一个方向上进行转换 - 从文本到实体 - 但是很快就会这样做