str_replace i replacement på resultatet af preg_replace
Hejsa,Jeg skal spytte noget javascript ud via php til en JS fil. Dvs. jeg skal skrive fx
echo"document.write('jul i nisseland');";
I document.write må man ikke bruge linjeskift (\n) så de skal fjernes.
Jeg har en lang kode som til sidsts spytter en variabel ud der kunne ligne denne:
$print = "myname = 'mtrolle';
start = '". time() ."';
show = 'x2!';
document.write('så kommer der lidt HTML
med linjeskift :(
'+show+'
og slut');";
I print vil jeg altså gerne fjerne de linjeskift der står mellem document.write(' og ');
Har forsøgt med følgende:
$print = preg_replace("/document.write\('(.*?)'\);/si","document.write('".str_replace("\n",'',str_replace("\r\n",'',"\\1"))."');",$print);
str_replace virker bare ikke som replacestring på preg_replace. Følgende ville virke fx:
$print = preg_replace("/document.write\('(.*?)'\);/si","document.write('\\1",$print);
men jeg vil gerne tage \\1 og fjerne alle \r\n og \n
Nogen ideer?
mtrolle