Php 红字和法语字符
我试图逃避一些用户在表单中的输入Php 红字和法语字符,php,Php,我试图逃避一些用户在表单中的输入 if( !empty($_SESSION['descr']) ) { $descr = htmlentities($_SESSION['descr']); $descr = stripslashes($descr); $descr = html_entity_decode($descr); echo"<textarea cols=\"50\" rows=\"10\" name=\"descr\" >".$descr
if( !empty($_SESSION['descr']) )
{
$descr = htmlentities($_SESSION['descr']);
$descr = stripslashes($descr);
$descr = html_entity_decode($descr);
echo"<textarea cols=\"50\" rows=\"10\" name=\"descr\" >".$descr."</textarea>";
}
else
{
echo "<textarea cols=\"50\" rows=\"10\" name=\"descr\" ></textarea>";
}
if(!empty($\u会话['descr']))
{
$descr=htmlentities($_SESSION['descr']);
$descr=带斜杠($descr);
$descr=html\u实体\u解码($descr);
回显“$descr.”;
}
其他的
{
回声“;
}
首先我没有使用html_entity_decode(),然后我意识到如果用户输入了一些法语字符,那么它将无法正确显示它们。
是否可以像html_entity_decode()那样使用它 您应该将字符串的编码更改为ISO-8859-15,它将拾取拉丁语-1遗漏的字符(即法语字符):
ENT_COMPAT可能不是您要查找的标志,但您可以在中找到字幕 我建议使用
UTF-8
而不是ISO-8859-15
。如果用户输入希腊文、俄文或希伯来文字符怎么办?今天推荐UTF-8以外的任何东西都是不明智的。我同意,我能想到的唯一其他选择是使用字符串替换字符列表与十六进制数组,这很乏味。
$descr = htmlentities($desc,ENT_COMPAT,'ISO-8859-15');