我在制作一个粘性表单时会遇到一些麻烦,如果值有双引号,它会记住在表单提交时输入的内容.问题是HTML应该是这样的:
但是,如果短语:"我该怎么做?" 使用引号键入,生成的HTML类似于:
我怎么必须过滤双引号?我已经尝试过使用魔术引号,我使用了striplashes和addslashes,但到目前为止我还没有找到合适的解决方案.解决PHP问题的最佳方法是什么?
你想要htmlentities().
以上将编码具有html实体代码的各种字符.我更喜欢使用:
htmlspecialchars($myValue, ENT_QUOTES, 'utf-8');
这只会编码:
'&' (ampersand) becomes '&' '"' (double quote) becomes '"' when ENT_NOQUOTES is not set. ''' (single quote) becomes ''' only when ENT_QUOTES is set. '<' (less than) becomes '<' '>' (greater than) becomes '>'
您还可以在$ myValue上执行strip_tags以删除html和php标记.