0

小さなCMSでCKEDITORを使用しています。

ローカルのリンク関数を使用しているときは、正常に機能しています。しかし、私がオンラインになり、リンクを作成しようとするとすぐにmysql_real_escape_string(); 物事を台無しにしていて、私は次のようなリンクを取得します:

<a href=\"\\\" target=\"\\&quot;_blank\\&quot;\">Se beautyPopup p&aring; gitHub</a>

これを修正するにはどうすればよいですか?

4

1 に答える 1

1

表示されている問題は、mysql_real_escape_stringHTML 出力をエスケープするために を使用しているためです。それはそのためではありません。データベースに入るデータをエスケープすることです。

あなたが探しているものは次のとおりhtmlspecialchars()です。また、エンコーディングを渡すことも忘れないでください。これの例は次のとおりです。

echo htmlspecialchars($yourString, ENT_QUOTES, 'UTF-8');

また、新しいコードに取り組んでいる場合でもmysql_*、PHP で古い API を使用することはお勧めできません。これは廃止されたためです。

アップデート

あなたのコメントに基づいて、他のタグを禁止しながらいくつかのタグを保持しようとしていることがわかりました。その場合、 HTML Purifierを調べることをお勧めします。

于 2012-12-30T22:03:04.950 に答える