Jetzt hat mir der Martin das Update unmöglich gemacht…
<?php $arr=[ 'foo', 'bar"]', 'baz', 'Jörg' ]; ?> <script> let arr=<?=json_encode( $arr, JSON_UNESCAPED_UNICODE ); ?>; console.log( arr ); </script>
→
<script> let arr=["foo","bar\"]","baz","Jörg"]; console.log( arr ); </script>
→
[ 'foo', 'bar"]', 'baz', 'Jörg' ]
Das Einschmuggeln von HTML/weiterem Javascript muss entweder vorher (in PHP) oder (weil erst dann der Kontext bekannt ist: nachher) im Javascript geschehen. <
, >
zu ersetzen dürfte oft reichen allerdings kann es sein, dass auch '
oder "
durch Entities ersetzt werden müssen.