我在由 template::toolkit 预处理的 html 页面中有一个 js 脚本。
脚本如下;
<script>
$(function(){
var floot = {
id : [% floot.id %],
image : '[% floot.image %]',
title : "[% floot.title %]",
desc : "[% floot.desc %]",
history : []
};
/* unrelated stuff */
/* set click event to display the floot details in an overlay */
$('#' + floot.id).children('.openDetails').click(function() {
bubbleDetails(floot, user);
});
</script>
问题是 floot.desc 可以包含换行符 - 这是一个描述,我想保留它们,但是换行符上的 js barfs 芯片给出了 Unexpected token 错误。
例如,我尝试了许多 TT 过滤器
[% floot.desc | html_line_break | replace('\n', ' ') %]
这成功地删除了换行符并用 <\br> 替换它们(请原谅反斜杠,否则编辑器正在解释 br s)但是它不起作用,然后页面会在其中呈现 <\br> 而不是休息。
在这个阶段,我认为这样做的唯一方法是在 bubbleDetails 中搜索 floot.desc 中的 <\br> 并用换行符替换它的任何出现,但是我想检查是否有人知道更好,更少笨拙的方法吗?
感谢您的输入。