HTML 字符串和编码

HTML String and encoding

本文关键字:编码 字符串 HTML      更新时间:2023-09-26

我想我在这里有点追尾巴,并希望有人让我直截了当。在我的Javascript程序中,我需要使用AJAX将HTML字符串发布到我的PHP服务器。HTML 字符串中可能包含嵌入的图像数据。

第 1 部分:简单案例 - HTML 字符串只是文本 - 例如 - "Mmiz's question"

<p>Mmiz&#39;s question</p>

如果我什么都不做编码,POST 似乎会在撇号之后破坏所有内容,它只是服务器端的"Mmiz"。使用 escape() 也没有解决问题!我应该怎么做才能安全地将 html 字符串传输到服务器?

第 2 部分:如果 html 中有图像数据,我使用 base 64 URL 安全编码图像数据:

encodeURIComponent(str).replace(/'/g,"%27").replace(/"/g,"%22");

这是正确的方法吗?

感谢您的指导!

米兹

我的猜测是,您正在将数据作为GET数据或表单数据发送。无论哪种情况,&都标记参数的结束和下一个参数的开始。您必须对此进行编码。此外,最好也对其他字符进行编码,例如使用 encodeURIComponent .

也就是说,您可能需要研究另一种方法。例如,我喜欢将数据直接提交到服务器,没有复杂性,因此请求如下所示:

POST /somefile.php HTTP/1.0
Host: example.com
Content-Type: text/plain     -- or some relevant type, like application/json
Content-Length: 13
Hello, World!

然后在服务器端,在这种情况下,在PHP中,我可以使用file_get_contents("php://input")来检索数据,没有任何问题。