perl - 模板工具包中的单引号转义

标签 perl template-toolkit

您是否曾经在模板工具包中为必要的 javascript 处理程序转义单引号?如果是这样,你怎么做。

[% SET s = "A'B'C" %]

<a href="/abc.html" onclick="popup('[% s | html_entity %]')">ABC</a>
html_entity 显然不起作用,因为它只处理双引号。你是怎么做到的?

最佳答案

我不使用内联事件处理程序——出于同样的原因,我拒绝为 css 使用 style 属性。 Jquery 只是使在外部 class="foo" 文件中的 html 和 $('.foo').click( function () {} ) 上的 .js 变得容易。

但是,为了尽我所能回答这个问题,请查看 these docs on Template::Filter 中的核心内容。

似乎您可以执行 [% s | replace( "'", "\'" ) %] 来转义单引号。或者您可能会编写一个更复杂的清理 javascript 解析器,它只允许函数调用,并制作自己的 Template::Filter

关于perl - 模板工具包中的单引号转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990645/

相关文章:

bash - 使用 Perl 脚本写入以 0x00 开头的地址

windows - 我可以在 Linux 上生成带有原生 Excel 图表的 Excel 文件吗?

regex - Perl Template::Toolkit 正则表达式匹配任一值

perl - Template Toolkit 中的 [% %] 和 [%- -%] 有什么区别?

perl - Template::Tookit,自动在html源中显示模板名称

html - 模板工具包 FOR 和 IF 行为

Perl Mason 语法验证

mysql - 流错误,同时尝试在 Compress::Raw::Zlib::_deflateInit 中初始化 deflate 对象

perl - 调试调用 DynaLoader 库的 AUTOLOAD

mysql - 模板工具包显示唯一行