2012-11-01 36 views
0

從表單字段保存輸入到SQL數據庫的varchar(255)...輸入會是這樣的:輸出VARCHAR - 輸出編碼,不應該

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

底線在大多數情況下,它會不會有html標籤。當我檢索和數據庫輸出我得到的是這樣的:

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

由於這應該echo'ed爲html它不會在頁面上正確顯示。也許我只是累了,但我不知道如何將其輸出爲非編碼,以便瀏覽器正確讀取它。

+0

這取決於你是如何將它們插入到數據庫......但無論如何,'html_entity_decode'或'htmlspecialchars_decode'應該能夠將它們轉換回來。 – Passerby

+0

html_entity_decode做了詭計......我知道有這樣的事情,什麼也記不得什麼......有時間睡覺!謝謝。 – user756659

回答

0

試試這個:

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

你爲什麼插入到數據庫之前編碼的HTML標記?

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