问题使用html_entity_decode函数对特殊字符
进行解码后,我用空格替换
实体。我的问题是,当我检查,如果if ($decoded_str[5] == ' ')
这是不正确的,但在$decoded_str[5]
存在,这是
解码前的空间。如何解决此事?我需要能够检查它像这样:if ($decoded_str[5] == ' ')
使用html_entity_decode进行解码,然后出现
回答
NBSP有0XA0的字符代码,空间为0x20。
根据您的编码,你可能需要比较(ISO-8859-1 /默认)
if ($decoded_str[5] === '\xa0')
或(UTF-8)
if ($decoded_str[5] === '\xc2' && $decoded_str[6] === '\xa0')
注:您可能想知道为什么
trim(html_entity_decode(' '));
不会将字符串还原为空字符串,这是因为' '
实体在默认ISO 8859-1字符集中不是ASCII码32(其被剥离trim()
),而是ASCII码160(0xa0)。
这是因为
不是空间:这是一个Non-breaking space。
这意味着它的字符代码不是0x20
,但0xA0
(当然,当然,这取决于字符集,我想...)
0X0A是一个'\ N' .... – kennytm 2010-03-08 19:45:27
@Kenny> ergh;一个帖子中有一个错字,它就是它不能的地方;-(感谢评论:我纠正了这一点:-) – 2010-03-08 19:48:47
这是正确的行为,因为html_entity_decode
将所有适用的HTML字符,所以也&,所以你能确定使用此检查空间..
if (htmlentities($dec) == ' ')
这基本上是用字符串的原始值的比较...
解码功能不会返回空格... – Marcx 2010-03-08 20:01:21
- 1. html_entity_decode不解码
- 2. 使用html_entity_decode对HTML进行解码后,它无法正常显示
- 3. html_entity_decode不解码ASCII
- 4. PHP html_entity_decode不按预期解码实体?
- 5. html_entity_decode()在XSL不解码任何
- 6. 奇怪的字符()出现做html_entity_decode
- 7. 使用Python进行URL编码/解码
- 8. 问题与使用PHP进行排序,然后输出
- 9. 当我试图运行代码然后出现错误消息
- 10. 使用Borland C++进行编程时出现突然关闭的窗口,然后是蓝屏! 。
- 11. 使用php解压Instagram信息 - 解码然后是什么?
- 12. 使用ffmpeg进行Wma解码
- 13. 如何使用ei_decode_term进行解码。
- 14. 仅使用JDK6进行base64解码
- 15. 如何使用libx264包进行解码?
- 16. 使用ffms2进行音频解码(ffmegsource)
- 17. 使用R代码进行XML解析
- 18. 使用密码和AES进行解密会得到208个解密字节,然后是垃圾
- 19. 在MSXML中使用nbsp解析HTML块
- 20. 编码的笨然后解码在Python
- 21. base64编码然后解码失败
- 22. php html_entity_decode如何使用
- 23. 使用html_entity_decode显示图像
- 24. 同时使用stripslashes和html_entity_decode
- 25. Ruby命令行程序出口然后出现消息
- 26. JS将行添加到表中。行出现然后消失
- 27. 使用jQuery。然后。然后
- 28. Javascript - 值存在,然后消失,然后再次出现?
- 29. 将焦点添加到文本框,然后使用javascript添加空格&nbsp?
- 30. 如何使用JavaScript进行加密,然后用C#
这个问题没有任何意义......我们是如何得到一个数组出html_entity_decode功能??? – animuson 2010-03-08 19:42:06
你的意思是哪个数组? – AleGore 2010-03-08 19:43:51
你说说它的方式,'$ decoded_str [5]'是一个包含有空格,没有一个空格的字符串。所以说'$ decoded_str [5] =='“'总是会返回false,因为字符串不是一个单一的空间,是否正确? – animuson 2010-03-08 19:46:06