是否可以使用ENT_QUOTES并仍然使用任何方法来打破常规?

  $title = htmlentities($_REQUEST['title'], ENT_QUOTES);


例如,当我在字段中输入时:

<input type="text" value="Teacher: Don't cheat at the exam<br /> 1. Rule<br /> 2. Rule<br /> 3. Rule">


它通常必须如下所示:

Teacher: Don't cheat at the exam
1. Rule
2. Rule
3. Rule


但是我得到这个:

Teacher: Don't cheat at the exam<br /> 1. Rule<br /> 2. Rule<br /> 3. Rule


谁能帮我吗?

最佳答案

htmlentities()的本质是将某些字符转换为HTML实体,其中包括<变为&lt;>变为&gt;ENT_QUOTES与此处无关。

因此,如果您使用htmlentities()来过滤输入(不确定是否应该,也应该指定$_POST等),那么如果您希望HTML可以工作,则应使用相反的函数输出它:

例:

$title = htmlentities($_POST['title']);
...
echo html_entity_decode($title); // outputs proper HTML


但是,由于没有更多的上下文,该示例没有意义,并且几乎可以肯定,在您的项目中有更好的方法来执行此操作。

关于php - PHP换行符br与ENT_QUOTES,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36658567/

10-14 13:52