htmlentities() 的 double_encode 参数行为不正确?
大家好,我正在尝试使用 htmlentities() 将文本区域中的字符转换为 html 代码。我现在的代码如下所示:
var_dump($colors);
$colors= htmlentities($colors, ENT_QUOTES, 'UTF-8', false);
var_dump($colors);
返回:
string(31) "• Red
• Green
• Blue<br />"
string(46) "• Red
• Green
• Blue<br />"
我假设将 false
传递给 double_encode 参数会阻止
转换为
。
有什么想法吗?
Hey guys, I'm trying to use htmlentities() to convert the characters in a textarea to html codes. The code I have right now looks like this:
var_dump($colors);
$colors= htmlentities($colors, ENT_QUOTES, 'UTF-8', false);
var_dump($colors);
which returns this:
string(31) "• Red
• Green
• Blue<br />"
string(46) "• Red
• Green
• Blue<br />"
I assumed passing false
to the double_encode parameter would prevent <br />
from being converted to <br />
.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
double_encode
参数可防止对现有 html 实体(例如•
)进行编码。
不是 html 实体,因此它会被编码。The
double_encode
parameter prevents encoding existing html entities (e.g.•
).<br />
is not an html entity, so it gets encoded.听起来您想要一个
"\n"
而不是textarea
中的
。要从数据中自动执行此操作,您可以执行以下操作...
双重编码仅意味着
&
之类的事情不会发生。Sounds like you want a
"\n"
instead of a<br />
inside yourtextarea
.To automate this from your data, you could do...
Double encode just means things like
&
won't happen.