Извлечение контекста из заданного значения в середине файла HTML

У меня есть HTML, и я извлекаю фрагмент в определенный момент (встроенное изображение), но я хотел бы показать некоторый контекст вокруг этого изображения.

Я использую PHP, и я знаю, что и Symfony, и WordPress предоставляют функции для работы с тем, что происходит, когда вы нарезаете текст в середине некоторого HTML (он закрывает все открытые теги), но не имеет ничего общего с фрагментами в другом направлении ,

Итак, в случае:

'Snippet of text and a <a href="#moo">link right her' 

Я могу использовать вышеупомянутую функцию для исправления, но как насчет:

 'nk right here</a> and then more text after the link.' 

Я рассмотрел возможность того, что даже фрагмент закрытия тега, вероятно, является неправильным способом, и я должен вместо этого использовать Xpath для анализа HTML. Однако я не могу найти примеров или упоминаний об использовании xpath для создания таких фрагментов.

Обновить:

Итак, моя нынешняя идея:

  1. перемещайте дерево разбора до тех пор, пока не дойду до тега, который охватывает весь контент (div class = post в моем случае). Последний узел, который у меня есть до этого div, является начальной точкой (скорее всего, тегом ap).

  2. Отсюда, возьмите предыдущего брата (который должен снова быть тегом ap).

  3. Спуститесь в этот узел и получите последних детей, сохранив текстовое содержимое во временную строку. Продолжайте возвращаться через этих детей, пока мы не получим достаточно фрагмента.

Это все еще не идеально, поскольку я не уверен, как далеко я должен уйти, чтобы получить текстовое содержимое.

Кто-нибудь знает о реализации этой идеи в любом месте?

Solutions Collecting From Web of "Извлечение контекста из заданного значения в середине файла HTML"