Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.04.2012, 01:45
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

"\n" - это перевод строки для внутреннего кода, но не при выводе на экран, для вывода на экран используется <br>. Скажите, почему <br> не стоит в этом коде, но после каждых 18 символов переход происходить на след.строку? Ведь в функции wordwrap в качестве перевода строки стоит \n но не br, следовательно если \n тогда на экране не должно переводить, переводить должно только если br разделитель.
Ответить с цитированием
  #12 (permalink)  
Старый 18.04.2012, 01:58
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от kilogram Посмотреть сообщение
"\n" - это перевод строки для внутреннего кода, но не при выводе на экран, для вывода на экран используется <br>. Скажите, почему <br> не стоит в этом коде, но после каждых 18 символов переход происходить на след.строку? Ведь в функции wordwrap в качестве перевода строки стоит \n но не br, следовательно если \n тогда на экране не должно переводить, переводить должно только если br разделитель.
<br /> — это html тег.
а \n — это escape-последовательность

т.е. <br> переносит строку только когда имеем дело с html, а \n — работает везде (редакторы, программы и т.д.)

в html они выполняют почти одну и туже функцию — переносят строку, но есть одно различие: если поле, где осуществляется перевод однострочное, к примеру, <input type='text'> или <input type='password'>, <input type='date'>, то <br> не сработает, \n работает всегда.

<br /> — это просто тег, который обрабатывает браузер, как знак к переносу, но сама изначальная строка при этом остаётся целой:

$str = "Вася<br />Маша<br />Петя" — это одна строка и переносить её будет только браузер.

$str = "Вася\nМаша\nПетя" — а это уже переносить будет не только браузер, но и всё, где бы мы ни выводили эту строку.

Чтобы было понятно, напиши так:

<?php

echo("Вася<br />Маша<br />Петя<br \>");
echo("---------------------------------");
echo("\nВася\nМаша\nПетя");

?>

Запусти и открой в браузере "посмотреть исходный код".

с \n там слова сами перенесутся на новую строку, а с <br> останутся на одной
__________________
С моих слов записано верно.
Ответить с цитированием
  #13 (permalink)  
Старый 18.04.2012, 02:07
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Вижу прикол один, если написать так:

echo("\nВася\nМаша\nПетя");


Выведет просто в одну строку: Вася Петя Маша
Но если написать так:
echo("<pre>\nВася\nМаша\nПетя</pre>");

Каждое слово выведет с другой строки.
Получается значит если внутри тега встречается вот такой выражение: "\n" сам тег PRE переводить слово на другую букву.
Ответить с цитированием
  #14 (permalink)  
Старый 18.04.2012, 02:14
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от kilogram Посмотреть сообщение
Вижу прикол один, если написать так:

echo("\nВася\nМаша\nПетя");


Выведет просто в одну строку: Вася Петя Маша
Но если написать так:
echo("<pre>\nВася\nМаша\nПетя</pre>");

Каждое слово выведет с другой строки.
Получается значит если внутри тега встречается вот такой выражение: "\n" сам тег PRE переводить слово на другую букву.
нет, это я просто ступил тег нужен, но не обязательно <pre> — любой.

без тегов браузер и \n не будет воспринимать, ибо всё, что к нему идёт — если нет тегов, воспринимается одной неразрывной строкой.
__________________
С моих слов записано верно.
Ответить с цитированием
  #15 (permalink)  
Старый 18.04.2012, 02:20
Профессор
Отправить личное сообщение для kilogram Посмотреть профиль Найти все сообщения от kilogram
 
Регистрация: 19.03.2012
Сообщений: 163

Сообщение от T-sh
тег нужен, но не обязательно <pre> — любой.
Как любой? Если написать так:
echo("<b>\nВася\nМаша\nПетя</b>");

или
echo("<p>\nВася\nМаша\nПетя</p>");

или
echo("<tt>\nВася\nМаша\nПетя</tt>");

перевод на другую строку не сработает, а с PRE пашет.
Вот загадочный этот PRE
Ответить с цитированием
  #16 (permalink)  
Старый 18.04.2012, 02:27
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от kilogram Посмотреть сообщение
Как любой? Если написать так:
echo("<b>\nВася\nМаша\nПетя</b>");

или
echo("<p>\nВася\nМаша\nПетя</p>");

или
echo("<tt>\nВася\nМаша\nПетя</tt>");

перевод на другую строку не сработает, а с PRE пашет.
Вот загадочный этот PRE
да.. странно.. предварительное форматирование только в теге <pre> работает..

значит вот оно и ещё одно отличие извиняюсь. что ввёл в заблуждение.
__________________
С моих слов записано верно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка строки символов Depressa Events/DOM/Window 0 17.04.2012 21:41
Удалении символов из строки strike Общие вопросы Javascript 5 10.04.2012 03:12
Стиль по количеству символов utb jQuery 4 28.03.2012 15:11
автоматический перенос строки в textarea BorisBritva jQuery 5 02.03.2012 18:21
Как убрать последний перенос строки? mff Общие вопросы Javascript 6 25.05.2010 17:08