Javascript 需要简单的Perl脚本帮助
我希望创建一个perl脚本,我将在JavaScript文件上运行该脚本,以自动更改('),从而破坏脚本 例如: file.jsJavascript 需要简单的Perl脚本帮助,javascript,perl,Javascript,Perl,我希望创建一个perl脚本,我将在JavaScript文件上运行该脚本,以自动更改('),从而破坏脚本 例如: file.js document.writeln('» <a href="/LINK1" TARGET="_blank">Lorem ipsum lorem 1</a><br>'); document.writeln('» <a href="/LINK2" TARGET="_blank">Lorem
document.writeln('» <a href="/LINK1" TARGET="_blank">Lorem ipsum lorem 1</a><br>');
document.writeln('» <a href="/LINK2" TARGET="_blank">Lorem ipsum lor'em x em 2</a><br>');
document.writeln('» <a href="/LINK3" TARGET="_blank">Lorem ipsum lorem 3</a><br>');
document.writeln('»;
);
书面文件('»;
');
书面文件('»;
');
第二行“Lorem ipsum lor'em x em 2”包含一个单引号,该引号将由脚本删除。剩下的单引号会像“document.writeln(””一样出现。最简单的方法是替换所有的
”
,然后替换回安全的,大致如下:
s/'/\\'/g; # replace all single quotes
s/document.writeln(\\'/document.writeln('/g; # revert safe occurrences
显然,这样的解决方案是一个快速而肮脏的解决方案,只有在您能够控制输入的情况下才能起作用,如果输入格式不为人所知,则会失败得很惨。尝试以下正则表达式:
$data =~ s/
(?<! # negative look-behind
\( # ensure no open parenthesis behind
)
' # a quote mark
(?! # negative look-ahead
\) # ensure no close parenthesis ahead
)
/\\'/xsg;
您将不得不进一步解释这个建议的Perl脚本与包含Javascript的文件的关系,以及为什么它必须定期运行。不。如果不是定期执行,它将只运行一次。他从第一次键入@Motti开始就编辑了这个问题。最初它没有任何意义。对不起,我没有下载随机文件.zip文件。我也没有做你的家庭作业。我已经给你展示了一条路径,由你决定是否要走这条路径。
document.writeln('» <a href="/LINK2" TARGET="_blank">Lorem ipsum lor'em x em 2</a><br>');
document.writeln('» <a href="/LINK2" TARGET="_blank">Lorem ipsum lor\'em x em 2</a><br>');
while ( <> ) {
$_ =~ ... # regular expression given above
print $_;
}
perl myscript.pl file.js