問題使用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