意外的新行Javascript/Smarty

意外的新行Javascript/Smarty,javascript,smarty,prestashop,Javascript,Smarty,Prestashop,我正在开发一个Prestashop网站,我得到了一个“SyntaxError:unterminated string literal”javascript错误。 问题是,当我得到一个地址时,这很好: ,"address1":"Pza libertad" ,"address2":"4º 3ª" ,"postcode":"08905" 问题来了: ,"address1":"Plaza libertad 3" ,"address2":" 4&

我正在开发一个Prestashop网站,我得到了一个“SyntaxError:unterminated string literal”javascript错误。 问题是,当我得到一个地址时,这很好:

,"address1":"Pza libertad"
,"address2":"4º 3ª"
,"postcode":"08905"
问题来了:

    ,"address1":"Plaza libertad 3"
    ,"address2":"
4º3ª"
    ,"postcode":"08905"
生成的代码如下所示:

{foreach from=$type.formated_fields_values key=pattern_name item=field_name name=inv_loop}
{if !$smarty.foreach.inv_loop.first},{/if}"{$pattern_name}":"{$field_name|escape:'htmlall':'UTF-8'}"
{/foreach}
在数据库中,两个“address2”看起来相同


有什么想法吗?

在address2中的值是换行符,就像html转义一样,您还需要将换行符转义到\n。。。我没有smarty,但了解到还有一个“javascript”参数谢谢,我将“htmlall”参数改为“javascript”,但它仍然在换行。请参见仍然不工作:(实际上我不明白为什么要在数据库中没有换行符的情况下将其放在那里。现在它工作了!!我使用了以下方法:{($field_name | regex_replace:“/[\r\n]/”:”“)|转义:'htmlall':'UTF-8'}