2014-10-06 145 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 '