• Главная
  • Оглавление
  • Обратная связь
  • Лента 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, хотя теоретически должно работать нормально.
  • Возможно найдется какой-нить тупой броузер, с которым этот патч не будет работать. В этом случае комментарий отправиться по-старому. 

№ 1: Премного благодарен!

Ну, попробуем проверить в этом блоге, а там, глядишь, и до следующего доберёмся.

Вот поставил перед этой строкой двойной Enter, смотрим.
А здесь простой перевод строки.

Спасибо ещё раз! Осталось только отправку комментария по Ctrl+Enter сделать...

airsound (15 июня 2009, 19:16)
№ 2:

Найдете косяки - пишите, буду думать.

Admin of FIT-Media Blog
№ 3: Косяк, однако!

В ленте RSS комментарии отображаются в квадратных скобках

airsound (16 июня 2009, 07:58)
№ 4:

Я знаю.

И при редактировании комментариев они тоже видны. И вообще они присутствуют везде, кроме страницы поста с комментариями....

А что ж поделаешь - я предупреждал, что решение кривое.

Единственное, что могу посоветовать - сменить квадратные скобки на что-нить более подходящее (если сможете таковое найти)...

ЗЫ
Пока писал этот плуг обнаружил одну неприятную вещь - раньше при обработке файла settings.php блог был уже в состоянии "полной боевой готовности" к построению кода страницы (все переменные настроены, строка запроса пропарсена, настройки загружены и т.д.) и это было очень удобно для написания плугинов. Даже сам Вадим именно в этом файле рекомендовал подключать всякие обработчики, ибо кайф.

В новой же версии - фиг! Я смог обнаружить в памяти лишь массивы для генерации ссылок главного меню и еще кое-какую чепуху. Так что теперь создание плугов стало на порядок сложнее, т.к. нет возможности даже определить в режиме админа находится блог или нет, да и получить мыло админа тоже не выйдет - приходится самому парсить настройки.

Именно по этой причине перестал работать мой старый плуг ( http://fit-media.com/comment_1225842665.html ). Одно радует - он в этой версии не нужен...

Вот и думаю, случайность это или же Ласто таким образом пытается монополизировать рынок разработчиков дополнений к его продуктам?...

Admin of FIT-Media Blog
№ 5: Решение.

Решение можно найти здесь: http://airily.ru/forum/viewtopic.php?pid=1752#p175 2

Отправлял письмо, скрипт порезал все nbsp'шки

Претендую на соавторство

airsound (17 июня 2009, 07:18)
№ 6:

А теперь БАНАНОВЫЙ !!!

Admin of FIT-Media Blog
№ 7: Здорово!

Банановый намного вкуснее! Теперь можно текст в комментариях форматировать и не надо каждый раз вводить имя и е-майл. Класс! А почему так мало кнопок? Сделайте чтоб можно было цвет менять и размер будет ваще классно.

Серега (18 июня 2009, 15:47)
Адрес заметки: http://fit-media.com/post_1245103976.html
Ваш комментарий к статье

 cod


Примечание:
Все поля обязательны для заполнения!
Введенный email не будет опубликован.
Адреса с http:// преобразуются в ссылки автоматически.
Для этого отделяйте их от текста ПРОБЕЛАМИ с обеих концов.
Теги запрещены.

Календарь

июнь, 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,02031 сек.
  • Память: 5 120 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS