2013-05-30 26 views
1

我使用PHP来存储一些会话变量以跟踪用户输入到搜索表单中的内容,然后如果他们需要重新开始搜索,我们可以恢复这些内容。除了以下内容,这一切都运行良好。HTML文本输入值包含引用标记

允许用户使用双引号将搜索字符串换行,该字符将在该字段上执行不同类型的搜索(完全匹配)。如果用户输入这样的文本到文本搜索字段中的一个:

“心脏疾病”

的SEACH工程和值会被保留在PHP会话变量,但是当我们来到恢复它在做的时候再次搜索失败。下面是恢复文本输入的代码:

<input type="text" id="condition" name="condition" value="<?php echo $conditionSearchValue; ?>"> 

我收集了双引号是造成问题,因为这将是:

<input type="text" id="condition" name="condition" value=""heart condition""> 

是否有恢复与双引号的输入方式标记我不知道?

感谢

回答

1
<input type="text" id="condition" name="condition" value="<?php print htmlentities($conditionSearchValue, ENT_QUOTES); ?>"> 

更多的文档herehtmlentities信息。

+0

改为使用[htmlspecialchars($ string,ENT_QUOTES,'utf-8')](http://php.net/manual/en/function.htmlspecialchars.php)。 – Xeoncross

+0

为什么?好点吗? – Saturnix

+0

是的,它只编码那些在HTML文档中具有重要性的5个字符 - htmlentities试图转换更多。 – Xeoncross

相关问题