• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

Пихаем абзацы в комментарии

15 июня 2009, 18:12

С самого начала использования этого блога меня бесило полное отсутствие возможности форматирования текста в комментариях. И как оказалось, не меня одного.

За несколько лет пользователи придумали несколько способов «борьбы» с этим неудобством. Кто-то тупо создает пустые строчки с точками, а кое-кто умудряется впихнуть HTML-тэг перевода строки...

Кстати,  я до сих пор не знаю, как удается обмануть вырезалку тэгов в блоге ...

Проблема состоит в том, что блог, без зазрения совести, режет все, вставленные в текст комментария, HTML-тэги (по крайней мере парные). Оно и правильно — дай возможность любому, случайно зашедшему, вставлять в страницу чистый HTML и очень скоро найдутся желающие напихать туда всякого, от надписей гигантскими буквами до java-скриптов, накручивающих счетчики и махающих баннерами порносайтов. Короче, резка тэгов — это есть гуд, но вот тупая резка абсолютно всех тэгов — это неуважение к посетителям. Можно оставить хотя бы возможность делить текст на абзацы — это уже намного приятнее. Вот этим сейчас и займемся.

Хочу сразу сказать, что предлагаемое здесь решение я красивым бы не назвал (сказывается отсутствие возможности покопаться во внутренностях блога), но ничего умнее в голову не пришло. Потому всё сделано через задницу, но работает (по крайней мере у меня ).

Итак, что б не дурить вам голову всякими разъяснениями, просто опишу, что нужно сделать, чтобы блог начал распознавать «двойной Enter» как начало нового абзаца. Все изменения укладываются всего в два шага:

  1. в конец файла data/settings.php (предпоследней строкой) вставляем вот такую строчку:
    if(isset($_POST['ms'])) $_POST['ms'] = '[[['.str_replace("\r\n\r\n", ']]][[[', $_POST['ms']).']]]';
  2. в файл data/tpl/рабочий_шаблон/comment.php (перед строкой switch($title)) вставляем такую строчку:
    $comment = str_replace(array('[[[', ']]]'), array('<p>', '</p>'), $comment);

Все. Пользуйтесь на здоровье. Теперь абзацы в комментариях обрамлены стандартными HTML-тэгами <p>.

Недостатки:

  • Этот «патч» действует только на вновь создаваемые комменты, старые останутся без изменений.
  • Текст комментариев, которые будут приходить вам по электронной почте, будет содержать мусор в виде кучи квадратных скобок.
  • Не уверен в корректной работе на блогах, использующих UTF-8, хотя теоретически должно работать нормально.
  • Возможно найдется какой-нить тупой броузер, с которым этот патч не будет работать. В этом случае комментарий отправиться по-старому. 
Комментариев: 7


Все заметки категории "Доработки Lasto-блога"

Page: 01 02 03 04 05 06 07 08 09 10
Fast: 10 20 30

Календарь

июнь, 2009
пн вт ср чт пт сб вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,03387 сек.
  • Память: 4 352 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS