Hallo Raketenwilli,
implode( "', '", $arr )
ist ein Unfall, der darauf wartet, zu passieren.
Wenn man genau weiß, dass in $arr keine ' Zeichen vorkommen können, kann man es riskieren, aber als allgemeines Code-Snippet ist es riskant. Bin gerade auf dem Sprung und habe die bessere Idee nicht fertig, aber mein Ansatz wäre, mit JSON-Strings zu arbeiten. Muss ich aber noch eine Weile dran hirnen.
Rolf
Hatte ich schon fertig :-) … weil mir in „Nullkommanix“ nach dem Absenden klar war, dass ich so umständlich wie idotisch notiert hatte.
<?php
$arr=['foo', 'bar"]', 'baz'];
echo
'<script>'
. PHP_EOL
. "\t"
. 'let a='
. json_encode( $arr )
. ';'
. PHP_EOL
. '</script>'
;
Output:
<script>
let a=["foo","bar\"]","baz"];
</script>
Regel für den Einsatz: Immer sauber bei UTF-8 bleiben.