コメント ボックスを作成して実行していますが、使用するとその前に'
が作成\
されることに気付きました。たとえば、「how's」と書くと、投稿先のデータベースとページに表示されるときの両方で「how\'s」と表示されます。stripslashes
スラッシュを取り除くはずだと思っていた「本文」テキストを表示するときに、この関数を使用しています。
それが役立つ場合、私のサーバーはphpバージョン5.3.6を実行しています。
このコードを使用して、コメント ボックスの本文からデータベースにテキストを投稿しています。
$body = mysql_prep($_POST['body']);
使用している関数は次のとおりです。
function mysql_prep($string) {
global $connection;
$escaped_string = mysqli_real_escape_string($connection, $string);
return $escaped_string;
}
補足: これに答える必要はありませんが、これは、ユーザーが入力するテキストをハッカーや悪者などから保護するために使用している機能です。私はそれをうまくやっていますか、それとも問題にさらされていますか? (この機能が原因である可能性のあるこのスラッシュの問題に加えて)
これは、テキストを表示するために使用しているコードです。
<div id="comments">
<?php while($comment_text = mysqli_fetch_assoc($display_comments)) { ?>
<div class="comment" style="margin-bottom: 2em;">
<div class="author">
<b><?php echo htmlentities($comment_text["author"]); ?>:</b>
</div>
<div class="meta-info" style="font-size: 0.8em;">
<?php echo datetime_to_text($comment_text["created"]); ?>
</div>
<div class="body">
<?php echo stripslashes($comment_text["body"], '<strong><em><p>'); ?>
</div>
</div>
<?php } ?>
<?php if(empty($display_comments)) { echo "No Comments."; } ?>
</div>
どんな助けやアドバイスも大歓迎です、ありがとう!!