0

我试图逃避一些用户输入的形式。

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>";
}

我一开始没有使用 html_entity_decode() 然后我意识到如果用户输入了一些法语字符,那么它将无法正确显示它们。像使用 html_entity_decode() 那样使用它是否节省?

4

1 回答 1

0

您应该将字符串的编码更改为 ISO-8859-15,它会拾取 LATIN-1 遗漏的字符(即法语字符):

$descr = htmlentities($desc,ENT_COMPAT,'ISO-8859-15');

ENT_COMPAT 可能不是您要查找的标志,但您可以在手册中找到字幕。

于 2012-11-27T03:53:07.277 回答