高度なカスタムフィールドリピータを使用して、Googleマップに配置する場所のリストを動的に作成しています。私は私のGoogle Mapsスクリプトファイル内の場所にアクセスできるように私のPHP配列をJSONに変換しようとしています。私が実行している問題は、アポストロフィを持つ場所がJavascriptでエラーを引き起こしているということです。アポストロフィをエスケープする必要があることは知っていますが、動的に行う方法がわかりません。ここでPHP配列をJSONに変換するときにアポストロフィを動的にエスケープする
は私のPHPです:
$locations = get_field('locations');
$jsonLocations = json_encode($locations);
それから私はそうのようなJavaScriptにPHPの配列を渡すしようとしています:
var jsonLocations = '<?php echo $jsonLocations; ?>';
は、これは私の問題を引き起こしているものです。私はanother question I found on hereに基づいてutf8_encode
を使ってみましたが、それは私にnull
という結果をもたらしました。
$locations = get_field('locations');
$jsonLocations = utf8_encode($locations);
$jsonLocations = json_encode($jsonLocations);
JSON_HEX_QUOT、JSON_HEX_APOS http://php.net/manual/en/function.json-encode.php – bassxzero
@bassxzeroが働いていること、ありがとうございました!答えとして追加してください。 – user13286