0

我在一个页面上有一个文本区域,它的内容使用 ajax/jquery $.post 推送到一个 mysql 数据库中。然后使用 php 调用 mysql 数据,然后使用 javascript 将其推送到新的动态文本区域中。

在将所有 html 推送到数据库之前,我将其转换为 htmlentities()。

然后我运行一个 mysql_query 来拖出数据。此时,如果我回显数据,它会很好地回显。

然后,当我将其推送到 js 函数中以创建新的 textarea 并添加数据时,这就是我得到错误的地方。如果我尝试提醒我通过 mysql_query 获得的数据,我什么也得不到。

我只是在使用一些 Lorem Ipsum 文本进行测试。我已经运行了 firebug,我得到的错误是

[17:44:20.948] SyntaxError: unterminated string literal @ http://**************.com/********.php:427

除非有人需要,否则我不会发布所有代码,因为代码很多,老实说,我认为这是某种转义/html 编码类型问题。

根据 CTRL 'U',最后一个 js 函数会出现上述错误

 <script>NewTextArea('1','draggable','176','672','300','300','&lt;strong&gt;Lorem Ipsum&lt;/strong&gt; es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno est&Atilde;&iexcl;ndar de las industrias desde el a&Atilde;&plusmn;o 1500, cuando un impresor (N. del
 T. persona que se dedica a la imprenta) desconocido us&Atilde;&sup3; una galer&Atilde;&shy;a de textos y los mezcl&Atilde;&sup3; de tal manera que logr&Atilde;&sup3; hacer un libro de textos especimen. No s&Atilde;&sup3;lo sobrevivi&Atilde;&sup3; 500 a&Atilde;&plusmn;os, sino que tambien ingres&Atilde;&sup3; como texto de relleno en documentos electr&Atilde;&sup3;nicos, quedando esencialmente igual al original. Fue popularizado en los 60s con la creaci&Atilde;&sup3;n de las hojas &quot;Letraset&quot;, las cuales contenian pasajes de Lorem Ipsum, y m&Atilde;&iexcl;s recientemente con software de autoedici&Atilde;&sup3;n, como por ejemplo Aldus PageMaker, el cual incluye versiones de Lorem Ipsum.');</script>
4

1 回答 1

3

当您将 php 变量注入 javascript 时,将它们包装在对json_encode(). Javascript 具有隐式行尾,这意味着字符串中的换行符需要转义。如果您在 javascript 块中回显带有换行符的 php 字符串,它将破坏脚本。

于 2013-04-17T15:55:23.340 回答