我们有一个Web应用程序,我们允许用户在文本区域中输入自己的html.我们将数据保存到我们的数据库中.
当我们将html数据加载到文本区域时,当然,我们在将html数据放入textarea之前使用htmlentities().否则用户可以在textarea中保存,并且我们的应用程序在将其加载到textarea时会中断.
除了输入中文字符(以及其他语言,如阿拉伯语,日语)外,这种方法很有效.
htmlentities()使中文文本无法使用:à ¨ÃóÃüÃçï当我在将输入的html加载到文本区域之前删除htmlentities()时,汉字显示就好了,但后来我们遇到了HTML干扰我们textarea的问题,特别是当用户进入文本区域时.
我希望这是有道理的.
有谁知道我们如何安全,正确地允许在我们的文本区域内使用中文,日文等语言,同时仍然可以安全地在我们的文本区域内加载任何html?
你尝试过使用htmlspecialchars吗?
我目前在生产中使用它,它很好.
$foo = "???????"
echo '<textarea>' . htmlspecialchars($foo) . '</textarea>';
Run Code Online (Sandbox Code Playgroud)
交替,
$str = “你好”;
echo mb_convert_encoding($str, ‘UTF-8?, ‘HTML-ENTITIES’);
Run Code Online (Sandbox Code Playgroud)
见http://www.techiecorner.com/129/php-how-to-convert-iso-character-htmlentities-to-utf-8/
| 归档时间: |
|
| 查看次数: |
4660 次 |
| 最近记录: |