Raketenwilli: Priorität sollte "schwer wiegender logischer Fehler" sein: „Bäh! Alte statt frische Brötchen!“

Beitrag lesen

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.