Сенсей
Новичок
Как делают это опытные люди ? Форматирование текста, теги и т.д
Вот как я это делаю :
Есть движок, модуль : Статьи
При вводе новости :
Человек набирает текст в админке в textarea - жмет Добавить
и текст без всяких обработок, такой как был введен - такой и всовывается в MySQL
При выводе :
При выводе обрабатываю текст лишь через nl2br - что бы перевод строки автоматом был ...
------
Что мы имеем ....
1 - Автор пишет статью про HTML в каком либо редакторе (Ну возьмем хотя бы FrontPage) -
Например вот это код исходник который выдает редактор:
В итоге в статье выглядит все нормально ... Сначало автор показывает КОД инпута , а потом " ИДЕТ " сам инпут ...
Есть лишь одна проблема - слишком большое расстояние от <p> до <p> так как я делаю при выводе nl2br
2 - У автора нету ни какого HTML редактора .... И он пишет туже статью прямо в textarea, естественно он пишет ее как может .... и он даже не знает что что бы текст не воспринимался как html нужно заменять спец символы на их эквиваленты (именно то что и делал в 1 ом случае сам HTML редактор )
Он ввел текст в textarea :
В итоге в статье мы видим два элемента input ....
---------
Как лучше всего справляться с такой проблемой ?
Я могу при выводе сделать тексту еще и htmlspecialchars - но тогда если автор захочет вывести в статье например таблицу html - то он будет видеть лишь html код а не таблицу ...
Есть идея сделать спец тег .. например [kod][/kod]
и сделать регулярку которая бы обрабатывала текст который находится между этим тегом через htmlspecialchars Тогда встает другой вопрос - делать обработку перед вводом в базу .... сразу же удаляя спец тег ? Либо опять же чистый текст вводит в базу (ествественно тег [kod][/kod] тоже пойдет в базу) и обрабатывать при выводе ?
Не возникнет ли потом проблем при редактировании статьи ?
------
Я понимаю что много написал .... Но я ни как не могу сообразить как вобще все это вместе организовать .... автоматический перевод строки ... сец символы и обычный html , что бы все это не конфликтовало ... что бы не было проблем при редактировании ... И что бы автор - который пишет статьи - и не задумывался о всяких спецсимволах и т.д ....
Кто нить может просветить ? Или же тут один выход из 2 :
1 - Выводить чистой HTML --- тогда нужно строго соблюдать качесвтво введенного в базу кода ....
2 Либо же при выводе делать htmlspecialchars --- тогда внезависимости от соблюдения правил спецсимволов и т.д - будет виден лишь текст ...
Надеюсь ктто нить поймет мою мысль .. хотя кому это ожет показаться бредом ....
Вот как я это делаю :
Есть движок, модуль : Статьи
При вводе новости :
Человек набирает текст в админке в textarea - жмет Добавить
и текст без всяких обработок, такой как был введен - такой и всовывается в MySQL
При выводе :
При выводе обрабатываю текст лишь через nl2br - что бы перевод строки автоматом был ...
------
Что мы имеем ....
1 - Автор пишет статью про HTML в каком либо редакторе (Ну возьмем хотя бы FrontPage) -
Например вот это код исходник который выдает редактор:
Код:
<p>Для того что бы вывести на странице HTML поле для вода пароля впишите в вашу
страницу код :</p>
<p><input type="password" value=""></p>
<p>И вы увидте не странице</p>
<p><input type="password" value=""></p>
Есть лишь одна проблема - слишком большое расстояние от <p> до <p> так как я делаю при выводе nl2br
2 - У автора нету ни какого HTML редактора .... И он пишет туже статью прямо в textarea, естественно он пишет ее как может .... и он даже не знает что что бы текст не воспринимался как html нужно заменять спец символы на их эквиваленты (именно то что и делал в 1 ом случае сам HTML редактор )
Он ввел текст в textarea :
Код:
<p>Для того что бы вывести на странице HTML поле для вода пароля впишите в вашу
страницу код :</p>
<p><input type="password" value=""></p>
<p>И вы увидте не странице</p>
<p><input type="password" value=""></p>
---------
Как лучше всего справляться с такой проблемой ?
Я могу при выводе сделать тексту еще и htmlspecialchars - но тогда если автор захочет вывести в статье например таблицу html - то он будет видеть лишь html код а не таблицу ...
Есть идея сделать спец тег .. например [kod][/kod]
и сделать регулярку которая бы обрабатывала текст который находится между этим тегом через htmlspecialchars Тогда встает другой вопрос - делать обработку перед вводом в базу .... сразу же удаляя спец тег ? Либо опять же чистый текст вводит в базу (ествественно тег [kod][/kod] тоже пойдет в базу) и обрабатывать при выводе ?
Не возникнет ли потом проблем при редактировании статьи ?
------
Я понимаю что много написал .... Но я ни как не могу сообразить как вобще все это вместе организовать .... автоматический перевод строки ... сец символы и обычный html , что бы все это не конфликтовало ... что бы не было проблем при редактировании ... И что бы автор - который пишет статьи - и не задумывался о всяких спецсимволах и т.д ....
Кто нить может просветить ? Или же тут один выход из 2 :
1 - Выводить чистой HTML --- тогда нужно строго соблюдать качесвтво введенного в базу кода ....
2 Либо же при выводе делать htmlspecialchars --- тогда внезависимости от соблюдения правил спецсимволов и т.д - будет виден лишь текст ...
Надеюсь ктто нить поймет мою мысль .. хотя кому это ожет показаться бредом ....