htmlspecialchars:转义所有语言的双引号

时间:2014-06-12 08:59:04

标签: php htmlspecialchars

我的文本输入包含来自所有语言的客户的数据(大多数属于ISO-8859-1字符集,但有些像俄罗斯人没有)。为避免在值包含双引号的情况下断开文本输入,我使用以下内容:

echo '<input type="text" value="'. htmlspecialchars($client_name, ENT_QUOTES, 'ISO-8859-1') .'" />';

它适用于常规字符。不同的字符集会出现问题。例如,对于俄语,上面输出html实体,例如:

&#1058

由于我们的客户服务使用此表单,因此他们必须按原样查看文本,以确保字段已正确填写。是否有上述代码的替代方法可以删除所有语言的双引号并保留?

str_replace等函数不是我想要的,因为我不想替换双引号,只是为了显示它们而不破坏代码。

谢谢

1 个答案:

答案 0 :(得分:0)

经过一番研究,我找到了以下功能:

echo '<input type="text" value="'. str_replace('"','&quot;',$client_name) .'" />';

这样我对各种语言都没有任何问题。