(PHP) Вопрос про переносы строки

Goldie
Дата: 16.08.2006 09:22:38
Здравствуйте

Подскажите пожалуйста как решить проблему.
В PHP сценарии пишу
 echo "a=Q.add('$b','$c');";
$b и $c забираю из базы данных MySQL, но $b это текст и в нем могут быть Enterы (символы перевода строки). И в этом случае мой JS код который формируется в сценарии умирает. Получается
 a=Q.add("вапрварвап
впавапрвп", "апварвапвапра");

Я пробывал addslashes (не добавляет он слеш перед Enterom).
$b=str_replace("/n", " ", $b)
тоже не дал результата
$b=str_replace(array("/n", "/r"), " ", $b)

тоже самое
и даже вот так
$b=str_replace("
", "\
", $b)
Все пофигу. Может кто знает что сделать. Задачка то кажется пустяковая
Anjey aka PM
Дата: 16.08.2006 09:24:51
$b=str_replace("/n","//n",$b);

???
Goldie
Дата: 16.08.2006 09:25:17
слеши я ставил правильные \n \r конечно
Anjey aka PM
Дата: 16.08.2006 09:32:00
ну а если правильные, то меняй "\n" на '\n'
или "\n" на "\\n" (один хрен )
Goldie
Дата: 16.08.2006 09:40:51
не помогло
странно как-то энтер нашло но и его оставило и добавило просто текст \n
Anjey aka PM
Дата: 16.08.2006 10:33:57
добавь чтоли
$b = str_replace("\r","",$b);
хотя врядли в этом дело :)
anvano
Дата: 16.08.2006 10:44:37
Зависит от того, на какой платформе у вас скрипты крутятся.
Для Windows перенос строки кодируется двумя символами "\r\n", соответственно заменять надо сразу это сочетание.
Для *nix только один символ "\n"
Goldie
Дата: 16.08.2006 10:56:41
Крутится на Linux, но такой то вариант безразличен

$b=str_replace(array("/n", "/r"), " ", $b)

Чего не работает. Может MySQL чего своего добавляет в место где ентеры.
Потому как str_replace находит \n вставляет текст если написать так

$b=str_replace(array("/n", "/r"), "вапр", $b)

но и ентер остается.
Goldie
Дата: 16.08.2006 10:58:19
может есть какой-нить способ посмотреть всю строку со всеми спецсимволами. Чтобы увидеть что-там конкретно сидит
Goldie
Дата: 16.08.2006 11:22:37
Странно но заработало вот это

$b=str_replace(array(chr(13), chr(10)), 'jhg', $b);