@alex0176

Как обнаружить и остановиться на первом переносе строки?

Привет!
Есть пост и в нем есть контент который содержит разные теги (заголовки, абзацы и прочее).
1. Нужно как то обнаружить и остановиться на первом переносе строки: алгоритм должен распознавать один
или несколько тегов переноса строки и останавливать отрывок в этой точке.
2. Возврат к концу первого блока: если разрыв строки не найден, отрывок должен заканчиваться после первого полного элемента блока.

Пример:
дано следующее содержание поста:

<p>A Guide For Austronauts</p>
<p>In this section, we will...</p>
Система должна автоматически определять конец первого абзаца ( <p>) и останавливать отрывок там, отображая:
A Guide For Austronauts


Аналогично, если есть перенос строки:
<p>This is a summary.<br>Additional details follow...</p>
Отрывок следует обрезать по месту переноса строки:
This is a summary.
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
// Извлекаем текст из <p> с учетом переноса строки
$content = preg_replace_callback(
    '#<p>(.*?)(?:<br>|</p>)#s',
    function ($matches) {
        return $matches[1]; // Возвращаем текст до первого <br> или </p>
    },
    $content
);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы