![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
=Женек= |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
В PHP есть такой код
Склеивается строка $string, которая потом передается в свойство innerHTML элемента <TD comment_x> Как видите в HTML разметке есть переходы на новую строку. Javascript генерирует ошибку. Если выстроить всю HTML разметку в единую строку все ОК, но неудобно для дальнейшего редактирования. Как орбработать $string, чтобы javascript его скушал? |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
=Женек= |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
Ну а все же, чтобы готовый код был человеческим с переносами?
Неужели innerHTML не может передать символ перевода каретки? Кстати, почему-то $string= str_ireplace("\n","",$string); не убирает перевод каретки... |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
потому, что, видимо, твои Enter'ы редактор сохраняет как "\n\r" или "\r\n". в таком случае сначала надо "обнулить" "\n", а потом дополнительно - "\r".
готовый код - с переносами. без переносов только значение стрковой константы в javascript. Или ты хочешь, чтоб после применения javascript измененный HTML-код был с переносами? тогда в РНР меняй "\n" на "'+'\n' + '". Т.е. на код, который превратится в перенос строки уже под JavaScript, а не при формировании. |
|||
|
||||
=Женек= |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: нет Всего: 1 |
В принципе первый вариант работает. ОДнако попытался добиться красивого готового HTML кода.
Сделал так:
Получилось вот что:
Почему-то \n так и остается в виде символа переноса. Добавлено через 3 минуты и 59 секунд Ладно, конечный результат я так понял должен быть таким : "<td>"+"\n"+"</TD>"; Но ведь, насколько я помню, (у меня был большой перерыв в программировании, стал забывать азы, помня при этом тонкости) - можно интегрровать с помощью апострофов и слешей символ перевода в саму строку типа <TD>/\n</TD> Напомните, пожалуйста и подскажите. |
||||
|
|||||
flashaa |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Эта строка не коректна, в итоге ты заменяешь шило на мыло, т.е. символы переноса на символы переноса. Т.к. внешние кавычки - двойные, символы интерпретируются как переносы. Поменяй на следующее:
|
||||
|
|||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
+ пропустить через addSlashes, чтобы в строку не затесалась кавычка.
+ почитать основы HTML на тему, как в этом самом HTML переносить строки. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |