これらの文字列のプロトタイプを使用していますが、正確に何をするのか分かりません。Javascript空の文字列で特殊文字を置き換えます。
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;
}
基本的に、私は何をする必要があることは二重引用符のすべてのインスタンス( ")、>、<、単一引用符( ')を置き換えている、などなど。基本的には同じものが、php中にhtmlentities()変更が必要ですが、空の文字列で置き換えてテキストから削除する必要があります。
上記の関数を使用することはできますか?そうでない場合は、JavaScriptでどのようにすることができますか?文字列を置き換えますか?
私はここにお手伝いします。このテキストを選択ボックスに入れて、fの提出時にデータベースに入力されます。 orm。しかし、これらの文字をすべて削除するためにPHPを使用していますが、Javascriptでこれを行う方法を見つけるのが難しいです。
感謝:)
目的は何ですか?タグを削除する、つまりHTMLからテキストコンテンツを抽出する、正しいと思うように聞こえますか? – deceze
いいえ、私はユーザーがテキストボックスに入力することを許可しており、これはデータベースに入り、テキストボックスは入力にとって重要です。選択ボックスにすでにこのテキストが含まれているかどうかを確認します。だから私はデータベースに既にそこにあるのと同じ値を挿入したくないので、特別な文字を取り除く必要があります。 – SoLoGHoST
しかし、サーバー上でテストしないと、あなたのデータベースに直接htmlを挿入するためにjavascriptをバイパスするのが非常に簡単なので、あなたもPHPを剥奪しておいてください。 – mplungjan