Lieber Matthias Apsel,
PS: Kontextwechsel sind beachtet
das ist nur anscheinend der Fall. Der tatsächlich übersehene Kontextwechsel ist $string -> $scriptsprachenquellcode. Du möchtest wohl etwas in dieser Art haben:
echo sprintf(  
    "foo.value = '%s';\r\n",  
  
    utf8_encode(  
        str_replace(  
            array("\r", "\n"),  
            array('\\r', '\\n'),  
            $bar  
        )  
    )  
);
Ob jetzt utf8_encode() nach der Stringersetzung oder vorher angewendet werden muss, darfst Du ausprobieren.
Liebe Grüße,
Felix Riesterer.
-- 
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
  ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
 nicht angemeldet
 nicht angemeldet Matthias Apsel
 Matthias Apsel Der Martin
 Der Martin