是否可以使用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实体,其中包括<
变为<
和>
变为>
。 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/