php jsonp單引號轉義

WBOY
發布: 2016-08-08 09:33:13
原創
950 人瀏覽過

PHP單引號及雙引號都可以修飾字串類型的數據,如果修飾的字串中含有變數(例$name);最大的差異是: 雙引號會替換變數的值,而單引號會把它當作字元串輸出。

php中jsonp輸出時一般用下面的格式:

callbackname('json string');
登入後複製

如果中間的json string中含有單引號,這個輸出就是有問題的,呼叫方一般是無法處理的,所以我們要對單引號進行轉義。

如果是用json_encode方式產生可以用下面的方式轉義:

<span>$ret</span> = json_encode(<span>$result</span>,<span> JSON_HEX_APOS); </span><span>header</span>('Content-Type: text/javascript; charset=utf-8'<span>); </span><span>echo</span> <span>$callback</span> . '(\'' . <span>$ret</span> . '\');';
登入後複製

這裡 JSON_HEX_APOS 是php是提供的把單引號換為 u0027 了。

如果是字串拼接的,可以用下面的方式:

<span>$jsonData</span> = <span>preg_replace</span>('/\'/', '\u0027', <span>$jsonData</span>);
登入後複製

然後再輸出。

以上就介紹了php jsonp單引號轉義,包括了jsonp單引號轉義方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板