Web: html_entity_decode、空格&nbsp以及乱码

本文探讨了HTML页面中空格的呈现问题,包括浏览器的自动归并行为及解决方法,通过使用&nbsp来确保一致的空格显示,并在不同编码环境下正确处理HTML实体转码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

普通ASCII码空格为32,但是浏览器会对普通空格进行自动归并,

也就是如果你输入10个0x20的空格在HTML页面里面,可能会被合并成一个空格。

如果想要一致的呈现多个空格,就要用到&nbsp,这个空格的编码为160,为西欧ISO-8859-1编码标准。


为了让经过HTML编码的内容还原为原来的文本字符,可以使用html_entity_decode方法,

但这样问题就来了,通常HTML编码内容为UTF8格式的,html_entity_decode在浏览器UTF8编码环境下会把

&nbsp转为一个黑色四方形状的乱码。只有切换为ISO-8859-1才能正确显示为空格。


所以在使用html_entity_decode之前,需要先把&nbsp替换掉(str_replace),这样就可以避免乱码问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值