我正在构建一个非常 AJAX 的站点,这意味着将大量信息发布到服务器,有时由用户键入。
这就是我发布东西的方式
xmlhttp.open("POST", 'somepage.php' ,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send('post=stuuf I want to send');
我的问题的一个例子是,有人输入 FOO BAR 作为他们的名字,这将发布 firstName=FOO&lastName=BAR
在 php 中得到 $_POST['firstName'] 是 FOO 而 $_POST['lastName'] 是 BAR
但是如果有人输入名字 FOO&BAR SMITH 它会像这样发布 firstName=FOO&BAR&lastName=SMITH
在 php 中,你得到 $_POST['firstName'] 是 FOO 和 $_POST['BAR'] 没有价值,这开始分崩离析。这意味着我必须在发布的所有内容中替换 & 并且我发现它很烦人。
有没有办法告诉php忽略任何&,只发送一个大字符串。当我需要发送多个值时,我打算用“_”将它们分开,然后我可以用 _ 替换任何用户键入的 _,而不必再担心了。
这可以在 .htaccess 中完成,还是在 php 文件本身中完成?
谢谢你的帮助