Как подготовитьтекст из базы для вставки в JS?

Eugene7

Новичок
Как подготовитьтекст из базы для вставки в JS?

Здравствуйте!
Строка извлекается из БД и печатается в тело JS функции,обрамляясь одинарными кавычками.

Я подготавливаю её таким образом:
PHP:
<? 
echo iconv("$database_charset", "$page_charset", mysql_real_escape_string($string_from_db));
Насколько это плохо?
Вроде бы полного аналога JS escape() в PHP нет, а кажется, что надо бы...
Подскажите, грамотное преобразование для строки, которую надо вставить в JS!
 

Фанат

oncle terrible
Команда форума
посмотреть в доке, что и как эскейпит escape() и написать аналог

и чем надо было думать, чтобы вопрос по JS задавать в разделе по базам данных?
переезжаем

-~{}~ 18.05.09 12:41:

не. сначала надо определиться, чего ты хочешь.
escape() и mysql_real_escape_string делают совершенно противоположные вещи.
 

Eugene7

Новичок
посмотреть в доке, что и как эскейпит escape() и написать аналог
Вы уверены,что готового решения в PHP нет?


сначала надо определиться, чего ты хочешь.
escape() и mysql_real_escape_string делают совершенно противоположные вещи.
Не придирайтесь, - это я для иллюстрации сравнил.

Точная формулировка того, что мне надо в самом начале:
<script>
function() {
var t;
t = '<? echo my_escape($s); ?>';
...
Мне надо функцию my_escape написать.
 

Фанат

oncle terrible
Команда форума
Вы уверены,что готового решения в PHP нет?
а с какой стати мне быть уверенным или неуверенным? мне эта функция не нужна. мануал доступен для всех.

насколько я могу судить, escape здесь лишняя. а надо читать синтаксис строк в яваскрипте.
для пхп, кстати, аналогичной функции, по очевидным причинам, не существует. иди var_export, впрочем...
 

Eugene7

Новичок
для пхп, кстати, аналогичной функции, по очевидным причинам, не существует.
Для меня это совсем не очевидно.
htmlspecialchar() есть, а аналогичного JSspecialchar() - нет.
Почему-то...
Вот я и подумал, что есть функция с другим названием, но играющая ту же роль.
Не совсем ту же, конечно, строку потом хотелось бы использовать для innerHTML.

Может быть какое-то сочетание готовых функций подходит?
 

A1x

Новичок
я так преобразовывал

$jstr = str_replace(array("'","\n"), array('\'', '\n'), $str);
 

Eugene7

Новичок
я так преобразовывал

$jstr = str_replace(array("'","\n"), array('\'', '\n'), $str);
Спасибо, конечно, но это как-то не совсем продвинуто.
Тогда уж проще mysql_escape_string() применить.
Даже лучше.
 

A1x

Новичок
не знаю, мне обычно хватало. mysql_escape_string меняет "\n" на '\n'?
 
Сверху