6

私は、mysql テーブル内に html タグを表示する方法を理解しようとしています。タグを正しく表示するために、addslashes、mysql_real_escape_string、および stripslashes を使用してみました。ブラウザーでデータを表示するたびに、html のテキストが表示されます。例:

これはmysqlデータベーステーブルにあります:

<strong>Test</strong>

Web ページで表示すると、次のように表示されます

しかし、代わりに、それは表示されます<strong>Test</strong>

コンテンツを表示するための私の PHP コードは次のとおりです。

<?php

require_once("inc.php"); //This includes the configuration for mysql database

?>
<html>
  <head>
  </head>
  <body>
    <p>
<?php

$conn = mysql_connect(HOST,USER,PASS) or die(mysql_error());
        mysql_select_db(NAME) or die(mysql_error());

$sql = "SELECT * FROM events";
$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query)){
  echo(stripslashes($row['details'])); //The details is what contains the <strong>Test</strong>
}

mysql_close($conn) or die(mysql_error());

?>
    </p>
  </body>
</html>
4

1 に答える 1

43

htmlspecialchars_decodeを使用する

次の行を置き換えます

  echo(stripslashes($row['details'])); //The details is what contains the <strong>Test</strong>

  echo htmlspecialchars_decode(stripslashes($row['details'])); //The details is what contains the <strong>Test</strong>
于 2013-03-01T08:16:29.017 に答える