古いバージョンのPHPはJsonの中の特殊な文字の関数をエスケープします
1099 ワード
AppにAPIを作成し、サーバー側のMySQLからデータを取り出し、JSONを生成します.データにはcontentというフィールドがあり、文章の内容が保存されており、HTMLラベルが大量に含まれています.このフィールドはjsonを転送するときにエスケープする必要があります.特殊な文字が大量にあるとjsonの構造を破壊します.
例えばcontent:
次のように変換する必要があります.
PHPバージョン>5.2の場合、json_Encodeはエスケープを持参する.旧バージョンのPHPであれば以下の関数を使用できます.
よく使うので、記録して、あなたに役に立つことを望んでいます.
例えばcontent:
'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.'
次のように変換する必要があります.
Lorem ipsum \"dolor\" sit amet,
consectetur \\ adipiscing elit.
PHPバージョン>5.2の場合、json_Encodeはエスケープを持参する.旧バージョンのPHPであれば以下の関数を使用できます.
# list from www.json.org: (\b backspace, \f formfeed)
public function escapeJsonString($value) {
$escapers = array("\\", "/", "\"", "
", "\r", "\t", "\x08", "\x0c");
$replacements = array("\\\\", "\\/", "\\\"", "\
", "\\r", "\\t", "\\f", "\\b");
$result = str_replace($escapers, $replacements, $value);
return $result;
}
よく使うので、記録して、あなたに役に立つことを望んでいます.