Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > как убрать пробелы и переносы |
Автор: grusha 19.4.2007, 03:07 | ||||
подскажите пожалуйста , как победить такую беду... есть такой кусок кода..
Если написано так , тогда всё ОК , но если так ->
тогда не работает , т.е. если идёт не в одну строчку , то код перестаёт работать , как это можно победить ??? Заранее спасибо. |
Автор: Mymik 19.4.2007, 09:06 |
grusha, я че-то не понял ![]() вообще, \r это возврат каретки в начало строки. Но для того чтобы перенести каретку на следующую строку, тебе еще нужно написать \n А не работает скорее всего имеено из-за того что происходит возврат каретки и старые данные либо затираются, либо превращаются в мусор. Но это тебе не в JS тему... А в PHP наверное... Или у тебя JS код не работает ??? или ... или вообще что у тебя там не работает ??? опиши проблему. |
Автор: 12345c 19.4.2007, 15:55 | ||
|
Автор: grusha 19.4.2007, 18:45 | ||||||||
мне надо именно средствами javascript. может я как то не так описал проблему ... Вообщем мне нужен код который бы удалял переносы, и делал всё в одну строчку. впринципе пример можно упростить до такого .....
Эсли так то всё ОК, но если так
то перестаёт работать. |
Автор: z-END 19.4.2007, 18:59 | ||
насколько я понял проблема в генерации переменной для яваскрипт.. скорее всего браузер ругается на unterminated string. наверно должно помочь:
|
Автор: grusha 19.4.2007, 19:44 | ||||||||
Спасибо,но так всетаки не работает. Уточнение... в переменную $new_box передаётся разный код , и без \r\n, а просто написан скажем вот так ,
вобщем делаю просмотр исходного кода в браузере пишет вот такое
Ну не так не победить этот код .... Вообще есть ли способ ? |
Автор: grusha 19.4.2007, 21:38 | ||
Или может ктото скажет почему нельзя писать так ..
|
Автор: Sardar 19.4.2007, 21:49 |
Просто так решили нетскейповцы/ECMA'вцы, строки не могут содержать не экранированных переносов. Либо экранируй через \ (тогда перенос вообще исчезнет), либо кодируй их посредством \n. |
Автор: grusha 19.4.2007, 22:13 |
А можнопоподробнее об этом , или примерчик небольшой ? |
Автор: Sardar 19.4.2007, 22:28 |
$new_box = str_replace(array("\n", "\r", "\r\n"), "\\\n", $new_box); Но учти что все переносы строк просто будут просто игнорироваться при исполнении JS. Замени на '\\n' если они нужны. |
Автор: grusha 20.4.2007, 00:39 |
Этот код проходит если в конце строки стоит \n и т.д. , а если просто код написан , скажем , так <table> <tr> <td>Test</td> </tr> </table> То уже не работает :( В этом то и проблема ! |
Автор: Sardar 20.4.2007, 01:16 | ||
Не может быть такого ![]() Пых-пышный исходник сохраняет переносы строк, так что сама строка будет содержать \r\n. Далее str_replace заменяем их на экранированные \n, должно в JS'е быть:
Тогда проблем не будет. |
Автор: grusha 20.4.2007, 02:46 |
Всем большое спасибо , я идиот ![]() Посмотрел функцию , а она оказывется инклюдит файл , поэтому и не получалось ничего. Вообщем спасибо то что вы посоветовали подойдёт , но не для моего случая, для моего кажется ничего не пожет , только изминения самих файлов ! Огромное спасибо всем ! |