|
JavaScript / HTML Создание динамической разметки страниц |
27.09.2013, 12:39
|
#1
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
HTML, оторажение текста с переносами из textarea
Добрый день, Булчане!
Пишу тут самопальный бложик, и у меня имеется проблема.
Ситуация такая - имею textarea в который введён текст и следом сохранён в БД (MySQL, тип поля - longtext), имею страничку в которую данный текст из БД читается. Если читать текст в textarea, то переносы строк сохраняются. Если же в любое другое место - текст идёт сплошной строкой.
От сюда возникает следующий вопрос - как мне отобразить текст на страничке со всеми переносами? "Парсить" ручками переносы?
Конечно, можно банально писать в нужных местах текста в textarea <br>, но, помоему, это не православно. Собственно, вопрос то наверно глупый, но нагуглить что то не получилось. Или я не правильно гуглю. Потому прошу помощи.
upd проблему решил пока что функцией nl2br (php). Но советы всё равно лишними не будут.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
27.09.2013, 13:59
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Вероятно можно было бы использовать тэг http://htmlbook.ru/html/pre
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.09.2013, 14:31
|
#3
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
textarea использует \n (или там вроди платформо-зависимый символ) для указания новой строки. Естественно это будет игнорироваться при парсинге DOM'а, но в сорсах html будет выглядеть что с новой строки. Но в HTML новая строка обозначается либо другим элементом либо <br /> тегом. Следственно что ты сделал это использовал nl2br что конвертирует этот самый \n в <br /> теги.
Учти что т.к. ты сам постишь - тут ещё ок, но если кто-то другой сможет постить, у тебя будут проблемы - нужно парсить текст и избегать любой скрипт или html в тексте, либо у тебя будет риск js/html injection'а, что приводит к возможности запустить любой скрипт кем-либо через посты (или коменты например).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.09.2013, 15:39
|
#4
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Сообщение от moka
textarea использует \n (или там вроди платформо-зависимый символ) для указания новой строки. Естественно это будет игнорироваться при парсинге DOM'а, но в сорсах html будет выглядеть что с новой строки. Но в HTML новая строка обозначается либо другим элементом либо <br /> тегом. Следственно что ты сделал это использовал nl2br что конвертирует этот самый \n в <br /> теги.
Учти что т.к. ты сам постишь - тут ещё ок, но если кто-то другой сможет постить, у тебя будут проблемы - нужно парсить текст и избегать любой скрипт или html в тексте, либо у тебя будет риск js/html injection'а, что приводит к возможности запустить любой скрипт кем-либо через посты (или коменты например).
|
Честно, даже не подумал про возможность написания скриптов. Спасибо большое! Пока что конечно никто ничего постить кроме меня там не сможет, но к сведенью приму.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
27.09.2013, 15:54
|
#5
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
А если используешь SQL базы данных, то конечно ещё ковычки и всё такое могут поломать твои query, и привезти к SQL Injection.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
28.09.2013, 06:45
|
#6
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
При выводе текста из бд используй функцию htmlspecialchars, чтобы никто тебе html теги и скрипты, ворующие куки, в комментариях не запостил. Переносы строк можно через nl2br или какой-то свой "продвинутый" парсер написать, например регулярное выражение, которое будет много идущих подряд переносов строк сводить к одному <br /> и т. п. При сохранении данных в базу не забывай экранировать кавычки и другие символы, как это сделать, зависит от используемого драйвера бд, обычно они предоставляют для этого какой-либо функционал. Тег <pre> для форматирования текста использовать не надо, используй его разве что для вывода блоков исходного кода. Если помимо текста планиуется использование какой-либо разметки, то юзай bb коды. Можно, конечно, и html, но всё равно через какой-нибудь парсер, который ограничивает теги, что-то вроде bb кодов, но html.
Всё вышесказанное не является чётким руководством к действию, это просто напутствия новичку, со временем сам поймёшь что и как нужно делать, не отправлять же тебя с самого начала изучать фреймворки и какие-то сложные технологии.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.09.2013, 18:42
|
#7
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Для работы с БД используй только PDO. Старых mysql_* стоит избегать.
nl2br, pre не очень правильные решения. Раз у тебя блог и сообщения будешь править ты сам, то не проще ли в админке использовать ckeditor или другой WYSIWYG.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
|
|
07.10.2013, 21:28
|
#8
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Сообщение от St_AnGer
Пишу тут самопальный бложик
|
Тоже хочу, научите.
|
(Offline)
|
|
07.10.2013, 22:22
|
#9
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Сообщение от Nex
Тоже хочу, научите.
|
Берёшь и пишешь. Что значит "научите". В кодерах не учат, а только "учатся".
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.10.2013, 15:35
|
#10
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Сообщение от moka
Берёшь и пишешь.
|
Ага. Сел в ракету и полетел на Луну. Круто, чо.
Почитать бы нормальные уроки по php и всему что нужно знать. Я находил только всякие видео уроки от попова под которые засыпал.
|
(Offline)
|
|
08.10.2013, 15:56
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Те кто садились в ракету и летели - делали это впервые, у них небыло туториалов как садиться и лететь - они изучали всё сами. Так вот если ты полагаешься на туториалы - то ничему сам в итоге толковому не научишься, по кучи причин. Послушай лучше тех кто прошёл через кучу вариантов "обучения".
Учи всё сам, начни с настройки сервера и простых вещей - начни тупо кодить..
Я учился блиц3д ваще дома с стандартной документацией и без интернета. Мне не у кого было что-то спросить. И поэтому я его знал вдоль и поперёк как 5 своих пальцев.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
09.10.2013, 05:09
|
#12
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Сообщение от moka
Те кто садились в ракету и летели - делали это впервые, у них небыло туториалов как садиться и лететь - они изучали всё сами.
|
Wat? То есть ты вышел из дома, сел в ракету и начал рандомно жать кнопки и смотреть что происходит?
Учится всему самому это кхм.. тупо.
Как бы для этого придумали садики, школы, колледжи и тд., что бы делится начальными знаниями, а дальше уже человек сам идет к своей цели.
Так и тут можно было бы написать что надо знать/учить php, css. Может даже подкинуть пару сайтов где объясняют основы (хотя бы что в php надо в конце строки писать ";").
А хотя да, проще написать бред про то, что не надо, не у кого ничего спрашивать/интересоваться, а полностью все учить самому бессмысленно тратя время.
|
(Offline)
|
|
09.10.2013, 09:21
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Мока имеет ввиду что нет готовых туториалов на все случаи жизни. ИМХО в этой теме надо начинать с понимания того как работает вэб сервер, потом узнать на что способен тот же php и его особенности. Если лень много самому писать, то можно взять какой-то например Zend Framework и изучать его. Либо найти исходник какого то простого блога и изучать его. Способов много дойти до нужной цели.
|
(Offline)
|
|
09.10.2013, 09:37
|
#14
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Так и тут можно было бы написать что надо знать/учить php, css. Может даже подкинуть пару сайтов где объясняют основы (хотя бы что в php надо в конце строки писать ";").
|
http://www.php.net/manual/ru/ там тебе не только про точку с запятой написано, не нужно благодарности
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2013, 09:45
|
#15
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: HTML, оторажение текста с переносами из textarea
Сообщение от pax
Мока имеет ввиду что нет готовых туториалов на все случаи жизни. ИМХО в этой теме надо начинать с понимания того как работает вэб сервер, потом узнать на что способен тот же php и его особенности. Если лень много самому писать, то можно взять какой-то например Zend Framework и изучать его. Либо найти исходник какого то простого блога и изучать его. Способов много дойти до нужной цели.
|
Думал что посоветуют что нибудь, ссылок дадут, скажут что надо учить/читать, но все как обычно по шаблону. Делай все сам с одной справкой, никого не слушай.
Помню как SubZero сказал что булка была создана как спасение для новичков от гнева тролей и всезнаек с какого то сайта игростроения, призывал всех помогать и в итоге булка стала тем же самым. В одном лишь разделе про Unity есть жизнь и в реакторе иногда побулькивают треды про политику и религию.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:30.
|