2010-08-20 86 views
2

我想在可能包含特殊字符(如')的文本框中顯示預定義值,例如單引號(例如,阿米特的生日....當我顯示字符串時,它只顯示阿米特,並省略了更多的字符串。我使用htmlspecialchars()函數,因爲我使用的是PHP,但其未發生的結果仍然相同。有人請幫助我。特殊字符行'不顯示在HTML表格的文本框中

+0

使用ENT_QUOTES作爲htmlspecialchars的第二參數。如果輸出是編碼字符串,則用javascript替換。 – 2010-08-20 07:20:31

回答

0

從手冊:http://php.net/htmlspecialchars

''」(單引號)變爲 ''' 僅當ENT_QUOTES被設置。

因此,要麼用雙引號而不是單引號分隔屬性值,要麼設置ENT_QUOTES(按照上面鏈接頁面上的示例1)。

3

從服務器側發送具有htmlspecialschars編碼數據爲html

<?php 
    $new = htmlspecialchars("Amit's Birthday", ENT_QUOTES); 
    echo $new; // Amit&#039;s Birthday; 
?> 

如果在服務器側的設定值屬性那麼它將被編碼的字符串與&#0 3 9;單引號的位置,如果你在客戶端使用ajax調用來獲取數據,

將輸入字段的ID,名稱或類屬性,然後將此代碼寫入文檔的加載函數或輸入字段填充所需的數據。

// < input class="decodeIt" type="text" value="Amit&#039;s Birthday" />  

    var decodedValue = $(".decodeIt").val().replace("&#039;", "'"); 
    $(".decodeIt").val(decodedValue);