2014-10-06 98 views
0

我有一個包含'一些變種,"特殊符號」

$var = "Hello \" World '";

<input type="text" value="<?= $var ?>" >

當瀏覽器渲染這個代碼上面我們將只能看到包含輸入元素 '你好'。

在Db字符串中如何解決此問題而不使用特殊符號如&rdquo;必須包含',"

回答

2

如何在不使用特殊符號像&rdquo;

你不解決這個問題,雖然rdquo在這種情況下使用了錯誤的字符參考。

在將文本插入HTML文檔之前,通過htmlspecialchars()運行文本將其轉換爲HTML。

<input type="text" value="<?= htmlspecialchars($var) ?>"> 
+1

它守需要注意的是,當呈現給頁面時,結果恰好是'Hello'世界',沒有什麼更多或更少。如果表單未經更改而提交,那就是服務器(以及數據庫)將收到的確切值。 – 2014-10-06 10:39:07

2

HTML Entities是你所需要的。

這與htmlspecialchars類似,但如果您需要具有關聯的命名實體進行翻譯的所有輸入子字符串,請改爲使用htmlentities()。

+2

如果你需要一個實體,可以有一個實體,那麼你在做UTF-8錯誤:) – Quentin 2014-10-06 10:39:05

0

Here's Char html codes

是$ var =「你好\「世界」;

我用HTML特殊字符:

" - special html char - &quot;

$var = "Hello &quot; World '";

結果: Hello " World '