-1

mysql_real_escape_string を使用してエスケープした後、データベースにいくつかの HTML テキストを挿入しました。それらを XML ドキュメントに追加して、フラッシュ ファイルで読み取ろうとしています。DOMDocument クラスを使用して XML ドキュメントを作成しています。ここに私の試みと出力があります:

$descC = $doc->createCDATASection(stripslashes($sql['body']));
$desc = $doc->createElement('desc');
$desc->appendChild($descC);

出力:

スラッシュがたくさん!

2を試してください:

$desc = $doc->createElement('desc',htmlentities(stripslashes($sql['body'])));

出力:

スラッシュも多い

何か案は ?

4

2 に答える 2

0

データベースからのものです。挿入する前にエスケープしたため、スラッシュが付いています

データベースからデータを取得するときに、データに不要なスラッシュを含めないでください。データをエスケープするときに追加されたものは、最終結果に表示されるべきではなく、もはやstripslashes()必要ではありません。

データベース用にデータを準備する方法に問題がある可能性があります。多分それを見せてください。

于 2012-08-13T08:19:29.807 に答える
0

構成で魔法の引用符が有効になっていると思います。

mysql_real_escape_string() をエスケープするとスラッシュが追加されるため、エスケープする前にチェックする必要があります。

if(get_magic_quotes_gpc()){

$b = ストリップスラッシュ($b);

}

$b = mysql_real_escape_string($b);

于 2012-08-12T17:27:27.067 に答える