Пихаем абзацы в комментарии
Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
С самого начала использования этого блога меня бесило полное отсутствие возможности форматирования текста в комментариях. И как оказалось, не меня одного.
За несколько лет пользователи придумали несколько способов «борьбы» с этим неудобством. Кто-то тупо создает пустые строчки с точками, а кое-кто умудряется впихнуть HTML-тэг перевода строки...
Кстати, я до сих пор не знаю, как удается обмануть вырезалку тэгов в блоге
...
Проблема состоит в том, что блог, без зазрения совести, режет все, вставленные в текст комментария, HTML-тэги (по крайней мере парные). Оно и правильно — дай возможность любому, случайно зашедшему, вставлять в страницу чистый HTML и очень скоро найдутся желающие напихать туда всякого, от надписей гигантскими буквами до java-скриптов, накручивающих счетчики и махающих баннерами порносайтов. Короче, резка тэгов — это есть гуд, но вот тупая резка абсолютно всех тэгов — это неуважение к посетителям. Можно оставить хотя бы возможность делить текст на абзацы — это уже намного приятнее. Вот этим сейчас и займемся.
Хочу сразу сказать, что предлагаемое здесь решение я красивым бы не назвал (сказывается отсутствие возможности покопаться во внутренностях блога), но ничего умнее в голову не пришло. Потому всё сделано через задницу, но работает (по крайней мере у меня
).
Итак, что б не дурить вам голову всякими разъяснениями, просто опишу, что нужно сделать, чтобы блог начал распознавать «двойной Enter» как начало нового абзаца. Все изменения укладываются всего в два шага:
- в конец файла data/settings.php (предпоследней строкой) вставляем вот такую строчку:
if(isset($_POST['ms'])) $_POST['ms'] = '[[['.str_replace("\r\n\r\n", ']]][[[', $_POST['ms']).']]]'; - в файл data/tpl/рабочий_шаблон/comment.php (перед строкой switch($title)) вставляем такую строчку:
$comment = str_replace(array('[[[', ']]]'), array('<p>', '</p>'), $comment);
Все. Пользуйтесь на здоровье. Теперь абзацы в комментариях обрамлены стандартными HTML-тэгами <p>.
Недостатки:
- Этот «патч» действует только на вновь создаваемые комменты, старые останутся без изменений.
- Текст комментариев, которые будут приходить вам по электронной почте, будет содержать мусор в виде кучи квадратных скобок.
- Не уверен в корректной работе на блогах, использующих UTF-8, хотя теоретически должно работать нормально.
- Возможно найдется какой-нить тупой броузер, с которым этот патч не будет работать. В этом случае комментарий отправиться по-старому.
