您是否曾经在模板工具包中为必要的 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/