PHP解析帶BOM頭的JSON數據

在PHP程序中訪問遠程API,獲得JSON字符串,在用json_decode解析以後,獲得的是NULL。php

把返回的JSON字符串打印出來,確實有值的,並且是符合JSON規範的字符串。json

趕上這麼詭異的問題,實在是讓人頭疼。編輯器

因而開始了調試。用var_dump打印出字符串。在把字符串複製出來打印。長度少了3.這一看就是BOM頭引發的問題。函數

文件少的話,能夠把文件用UltraEdit另存爲無BOM格式。可是文件太多或者代碼還有別的人在改,並且用的編輯器是那種會亂加BOM頭的編輯器,麻煩又來了。調試

下面這個函數能夠解決這個問題。code

function prepareJSON($input){
    if(substr($input,0,3) == pack("CCC",0xEF,0xBB,0xBF)) $input = substr($input,3);
    return $input;
}

這樣處理過的JSON字符串,就不會再受BOM頭的影響了。
字符串

相關文章
相關標籤/搜索