【发布时间】:2011-05-31 01:11:06
【问题描述】:
好的,我有这些字符串原型可以使用,但是,我不明白它们到底是做什么的。
String.prototype.php_htmlspecialchars = function()
{
return this.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
}
String.prototype.php_unhtmlspecialchars = function()
{
return this.replace(/"/g, '"').replace(/>/g, '>').replace(/</g, '<').replace(/&/g, '&');
}
String.prototype.php_addslashes = function()
{
return this.replace(/\\/g, '\\\\').replace(/'/g, '\\\'');
}
String.prototype._replaceEntities = function(sInput, sDummy, sNum)
{
return String.fromCharCode(parseInt(sNum));
}
String.prototype.removeEntities = function()
{
return this.replace(/&(amp;)?#(\d+);/g, this._replaceEntities);
}
String.prototype.easyReplace = function (oReplacements)
{
var sResult = this;
for (var sSearch in oReplacements)
sResult = sResult.replace(new RegExp('%' + sSearch + '%', 'g'), oReplacements[sSearch]);
return sResult;
}
基本上,我需要做的是替换双引号(“),>,
我可以使用上述任何功能吗?如果没有,我怎样才能在Javascript中完成这个?我可以在字符串上使用替换吗?
请有人帮帮我。我将此文本放入一个选择框中,并将在提交表单时输入到数据库中。虽然,我正在使用 PHP 来删除所有这些字符,但是,我很难找到在 Javascript 中执行此操作的方法。
谢谢:)
【问题讨论】:
-
目标是什么?听起来您想去除标签,即从 HTML 中提取文本内容,对吗?
-
不,我允许用户在文本框中输入内容,然后进入数据库,文本框对其输入至关重要。它检查选择框是否已经包含此文本。所以它需要去除特殊字符,因为我不想将已经存在的相同值插入到数据库中。
-
但是,请确保您也保留您的 php 剥离,因为如果您不在服务器上进行测试,很容易绕过您的 javascript 将 html 直接注入您的数据库
-
就像我说的,我已经在 PHP 方面弄清楚了这部分内容。我在 PHP 中剥离它就好了。彻底消除这一切。只是它的 JS 部分没有被剥离。不管怎样,有人回答了。干杯:)
标签: javascript regex replace