ホームページ > バックエンド開発 > PHPチュートリアル > 古いバージョンの PHP で Json 内の特殊文字をエスケープする関数、json_PHP チュートリアルのエスケープ

古いバージョンの PHP で Json 内の特殊文字をエスケープする関数、json_PHP チュートリアルのエスケープ

WBOY
リリース: 2016-07-13 09:51:22
オリジナル
920 人が閲覧しました

老版本PHP转义Json里的特殊字符的函数,转义json

在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。

比如这么一段 content:

复制代码 代码如下:
'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.'

则必须要转化为:

复制代码 代码如下:
Lorem ipsum \"dolor\" sit amet,\nconsectetur \\ adipiscing elit.

如果 PHP 版本 > 5.2,json_encode 自带转义。如果是旧版本的 PHP 则可以用下面的函数。

# list from www.json.org: (\b backspace, \f formfeed)
public function escapeJsonString($value) {
  $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
  $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
  $result = str_replace($escapers, $replacements, $value);
  return $result;
}
ログイン後にコピー

经常会用到,记录一下,希望对你有帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1013719.htmlTechArticle老版本PHP转义Json里的特殊字符的函数,转义json 在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 conte...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート