2011-02-25 79 views
8
<?php 
    $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); 
    echo $new; 
?> 

輸出應該PHP的htmlspecialchars不工作

& lt;a href=& #039;test& #039;&gt;Test& lt;/a& gt; 

但輸出

&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; 
+2

我不知道輸入和輸出示例應該是什麼樣子。當然,沒有理由認爲這個問題中的實際內容應該出自'htmlspecialchars'這樣的問題。即使在點擊編輯按鈕查看原始輸入之後,我並不聰明。 StackOverflow提供了「將此格式設置爲代碼」按鈕,使用該按鈕,而不是嘗試手動編寫實體代碼並使用非中斷空格進行縮進。 – Quentin 2011-02-25 07:12:45

+0

編輯您的問題併發布您的真實代碼,格式化爲代碼(單擊「{}」按鈕或僅縮進4個空格)。 – ThiefMaster 2011-02-25 07:13:26

+0

爲什麼?
'$ new'沒有鏈接 – azat 2011-02-25 07:11:52

回答

18

不要擔心。 htmlspecialchars()編碼<和>字符正確。只是當你將編碼的字符串回顯到你的電腦屏幕時,瀏覽器會再次有用地解碼字符。如果您查看頁面源,您將看到編碼的字符串。

+1

+1如果輸出在瀏覽器中顯示爲'Test **',那麼'htmlentities'正在做它應該做的。 – deceze 2011-02-25 07:31:12