0

フォーム フィールドからの入力を sql データベース varchar(255) に保存しています... 入力は次のようになります。

<a href="test.com">Author Name</a>

要するに、ほとんどの場合、html タグが含まれている可能性が高いということです。データベースから取得して出力すると、次のようなものが得られます。

&lt;a href=&quot;test.com&quot;&gt;Author Name&lt;/a&gt;

これは html としてエコーする必要があるため、ページに正しく表示されません。疲れているだけかもしれませんが、これをエンコードされていないものとして出力する方法がわからないため、ブラウザで適切に読み取られます。

4

2 に答える 2

0

これを試して:

<?php
    echo htmlspecialchars_decode("&lt;a href=&quot;test.com&quot;&gt;Author Name&lt;/a&gt;");
?>

データベースに挿入する前に html タグをエンコードするのはなぜですか?

于 2012-11-01T06:55:17.243 に答える
0
#Connect to the DB
$db = mysql_connect('localhost', 'root', '');

#Select the DB name
mysql_select_db('test');

#html tag contain in a string='$str'
$str='<a href="test'.'.com"'.'>Author Name</a>';

###insert query section ###

#Ask for UTF-8 encoding
mysql_query("SET NAMES 'utf8'");

#Set the Query
$sql = "INSERT INTO `test`.`code` (`name`) VALUES ('$str');";//Save it in a text row, that's it...

#Run the query
mysql_query($sql);

###fetching result###

#fetching required info from mysql
$sqlQuery1 = "SELECT * FROM `code` WHERE `name` LIKE '$str'";

$result1 = mysql_query($sqlQuery1);  //order executes                                                                                  
$row1 = mysql_fetch_array($result1);
if( $row1){    
echo $row1['name'] ;
}

#HOPE THIS HELP YOU ALOT
于 2012-11-01T07:45:01.353 に答える