PHP JSON String, escape Double Quotes for JS output

后端 未结 7 1125
旧时难觅i
旧时难觅i 2020-11-29 04:44

I\'m creating a JSON string from a PHP array. I\'ve encoded it using json_encode().

$data = array(
    \'title\' => \'Example string\\\'s wit         


        
相关标签:
7条回答
  • 2020-11-29 05:43

    This is a solutions that takes care of single and double quotes:

    <?php
    $php_data = array("title"=>"Example string's with \"special\" characters");
    
    $escaped_data = json_encode( $php_data, JSON_HEX_QUOT|JSON_HEX_APOS );
    $escaped_data = str_replace("\u0022", "\\\"", $escaped_data );
    $escaped_data = str_replace("\u0027", "\\'",  $escaped_data );
    ?>
    <script>
    // no need to use JSON.parse()...
    var js_data = <?= $escaped_data ?>;
    alert(js_data.title); // should alert `Example string's with "special" characters`
    </script>
    
    0 讨论(0)
提交回复
热议问题