Comments 15
Хабрапарсер явно скушал реги.
Цель addslashes/stripslashes абсолютно не ясна.
Не вполне понятно зачем array_unique, ситуация при таком раскладе у Вас будет нормальной, хотя на самом деле на нормальную не похожа.
Цель addslashes/stripslashes абсолютно не ясна.
Не вполне понятно зачем array_unique, ситуация при таком раскладе у Вас будет нормальной, хотя на самом деле на нормальную не похожа.
Это не нужно. Анонс должен писать человек. Если программа будет обрезать по фиксированному числу символов, то получается ерунда.
Поддерживаю. Тоже в своё время парились над этой задачей, но пришли к выводу, что надо давать админу самому писать анонс. Если админ сайта туповат — скопирует, если умён — напишет.
Кстати, а зачем в анонсе сохранять теги? :) Можно ведь просто резать.
Кстати, а зачем в анонсе сохранять теги? :) Можно ведь просто резать.
спасибо за ответ. На хабре для написания статьи не предлагается отдельное окно для анонса. Та-же история с вордпресом и т.д. Удобно, когда можно вставить в текст тег <habracut> и дело с концом. Анонс на своем месте, текст на своем. Мухи отдельно от котлет. И ничего отдельно писать не нужно.
<?=mb_substr( strip_tags($source), 0, $symbols_count, 'UTF-8');?>...
Согласен. Удобно. Только текст может быть обрезан как в середине слова, так и в конце предложения, после знака препинания, до или после пробела. Где угодно. Плюс я анонс могу оформить не только картинкой или цветом. Плюс пользователь может анонс оформить в удобном ему месте, а не в месте разрыва 800 символов. И хорошо бы чтобы у пользователя был полноценный текстовый редактор а не «обрезатор».
if(count($closedtags) == $len_opened){плохо, можно открыть левым тегом и закрыть левым, а кол-во совпадет
Была такая же проблема, но так ее и не решил. Просто прикрутил Markdown и сделал тег [cut] и [cut=Читать далее] (использовал строковые функции — с регулярками как-то не получилось). Сначала markdown-текст режется, а после — парсится этим самым Markdown. Если где-то криво отрежется — Markdown просто не распарсит порезанный «тег». Решение не очень, т.к. обычный HTML недоступен, а Markdown может не все. Но заморачиваться с незакрытыми тегами — нет уж, спасибо.
А если обрежется посреди character entity (типа >)?
Sign up to leave a comment.
Правильный анонс к тексту или закрываем незакрытые теги