我知道肯定有成千上万个这样的线程,但是互联网和堆栈溢出充斥着来自其他编程语言的结果,并且只是用空格替换字符等等......
所以...我的问题如下...
我有一个表格:<input type='text' id='my_input'>
然后我在javascript(使用jquery)中解析我的所有字段以创建我的ajax调用,就像这样
var my_value = $('#my_input').val();
然后我做一个替换以获得换行符my_value = my_value.replace('\n', '<br>');
之后我用 ajax 像这样发布我的变量:
data_to_post = 'my_field1=' + my_value1 + 'my_field2' + my_value2;
$.ajax({
type: 'POST',
url: '/write_to_db.php',
data: data_to_post
});
现在我网站上的很多人都在谈论编程,并且这些内容开始搞砸我的网站,因为他们的帖子内容被解析为 php 或 html 格式 - 我打算替换所有可能搞砸我网站代码的有问题的字符.
最有问题的表达式是 html 标记和 &=,因为它会干扰我将 post 变量放在一起的方式。
现在,因为这些字符是内容所必需的,所以我不能简单地将它们全部替换为单个字符。
有什么办法可以逃脱它们(最好在一行命令中)?
谢谢!
更新:我的临时解决方案是这样的:
this_string = this_string.replace(/</g, '<');
this_string = this_string.replace(/>/g, '>');
this_string = this_string.replace(/\n/g, '<br>');
this_string = escape(this_string);