13.12.2006, 14:05
общий
это ответ
Здравствуйте, Талипов А Н!
Посмотрите, в приложении функция, для корректного вывода в JS, и скрипт, который я использовал для проверки.
Вроде как все работает.
Если, что не пойдет, сообщите, пожалуйста.
Приложение:
//САМА ФУНКЦИЯ ДЛЯ ВЫВОДА В JS//q2 указывает в какие кавычки заключаем строку в JS(true(по умолчанию) - для двойных, false - для одинарных)function php2js($s,$q2=true){$q=($q2?‘"‘:"‘");return str_replace(‘script‘,$q.‘+‘.$q.‘sc‘.$q.‘+‘.$q.‘ript‘,addcslashes($s,"\\\n\r\t".$q));}//СКРИПТ ДЛЯ ПРОВЕРКИ<html><head> <title></title></head><body><script>var s=‘<?php$s=file_get_contents(__FILE__);function php2js($s,$q2=true){//$q2=true Default - for double quoted string//$q2=false - for single quoted string$q=($q2?‘"‘:"‘"); return str_replace(‘script‘,$q.‘+‘.$q.‘sc‘.$q.‘+‘.$q.‘ript‘,addcslashes($s,"\\\n\r\t".$q));}echo php2js($s,false);?>‘;alert(s);</script><hr><?php//ПРОВЕРКА СЛУЧАЙНЫХ СИМВОЛОВ//ПО КРАЙНЕЙ МЕРЕ. JS ОШИБОК НЕ ВЫДАЕТfor($c=0;$c<30;$c++){$s=‘‘;for($i=0;$i<100;$i++){ $s.=chr(rand(0,255));}echo ‘<script>alert("‘.php2js($s).‘")</script>‘;}?><button onclick="alert(s)">S</button></body></html