Как вырезать HTML-теги
из анонса при AJAX в Joomla
Клиенты из Перми часто жалуются: в карточках видны куски HTML, ссылки, битые символы. Причина — introtext с форматированием. Разбираем, как модуль Reemake AJAX Content очищает текст за 4 шага и показывает чистый анонс.
Как работает
Что происходит с introtext
1. strip_tags — удаление всех HTML-тегов. Ссылки, жирность, курсив — всё убирается.
2. html_entity_decode — декодирование сущностей ( , «, —).
3. preg_replace('/\s+/', ' ', $text) — сжатие пробелов, переносов, табуляций.
4. mb_substr($text, 0, $limit) — обрезка по лимиту с учётом многобайтных символов.
Код
Функция очистки анонса
function cleanIntro($intro, $limit = 180) {
$text = strip_tags($intro);
$text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');
$text = preg_replace('/\s+/', ' ', $text);
$text = trim($text);
if (mb_strlen($text) > $limit) {
$text = mb_substr($text, 0, $limit);
$text = mb_substr($text, 0, mb_strrpos($text, ' ')) . '…';
}
return $text;
}Ключевое — обрезка по последнему пробелу (mb_strrpos), чтобы не разрывать слово. И добавление многоточия — пользователь понимает, что текст обрезан.
Кейс · Симметрия
Мебельная компания: чистые анонсы без битых символов
Задача: «Симметрия» — мебельная компания из Перми. 500+ карточек товаров и статей. В анонсах виднелись куски HTML: «, , жирный текст и ссылки на внутренние страницы. Выглядело как баг.
Что сделали: установили Reemake AJAX Content. Настроили очистку introtext через strip_tags + html_entity_decode. Настроили сжатие пробелов и обрезку по последнему слову. Проверили на 500+ карточках — анонсы чистые.
Результат: карточки выглядят аккуратно. CTR в блоге вырос на 18 % — пользователи кликают на чистые анонсы. Редакция перестала вручную чистить introtext перед публикацией. 2 часа в неделю сэкономлено.
Вопросы и ответы
Про цены и сроки
Сколько стоит настройка очистки?
Стоимость зависит от задач проекта — назовём после аудита. Считаем смету по составу работ: фиксируем в договоре.
Сколько времени занимает внедрение?
Отвечаем в течение рабочего дня. Базовая настройка — 1 рабочий день. Если нужны кастомные правила очистки для разных разделов — обсуждаем сроки отдельно.
Сохраняется ли форматирование?
Нет, и это правильно — в карточке текст должен быть простым. Полное форматирование сохраняется на странице материала.
Что если в introtext картинки?
Теги img тоже убираются. Отдельно берётся вводное изображение статьи — оно показывается в карточке.
Обсудим очистку анонсов
Пришлите ссылку на страницу с битыми анонсами. Покажем, как их исправить. Бесплатный аудит — без обязательств. Пришлём расчёт в течение 1 рабочего дня.
Обсудим задачу →




Messenger Max