以下情况:
我有一个包含一些文本的 txt 文件。我通过“file_get_contents”用 PHP 读取它。 现在我想提交带有一些 ajax 请求的多个表单。 为此,我需要将变量放入 JS。
var results = "<?php echo htmlspecialchars($results); ?>";
不起作用。它返回“意外的 token 非法”
字符串本身只包含字符,可能还有一些特殊字符。 内容的一个例子是这样的:
Email: MyName@mail.net - Pass: ^s2p3r(s3cr3t& - City: aCity
Email: OtherName@mail.net - Pass: ^s2p3r(s3cr3t& - City: anotherCity
那为什么 JS 看不懂呢?
谢谢
编辑:
在 html 输出中它完全正确显示。 即使有所有特殊字符,如 ^ 、 ( 或 &
(我将上面的字符串编辑为完全可以给我该错误的内容)
最佳答案
$results
是一个 JSON 字符串吗?
如果是这样,你想用
解析它htmlspecialchars(json_encode(json_decode($results,true)))
这样信息就可以首先解码成一个数组,然后编码为 Javascript 就绪的 JSON。
我看到的唯一问题是您似乎没有使用有效的 JSON,因为它没有在正确的引号中,因此根据您使用的 PHP 版本,它可能会也可能不会解析数据。理想的情况是您的数据看起来像
['Email' : 'MyName&mail.net', 'Pass' : 's2p3rs3cr3t', 'City' : 'aCity']
这将使您免于尝试使用正则表达式将信息解析为可读格式的麻烦,因为有时正则表达式可能会错误地替换/解析您可能需要的信息。我仍然相信使用 JSON 解码和编码数据应该可行。
关于javascript - 获取一个php变量到javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26735431/