Я имею дело с HTML, который был создан с помощью FCKeditor .Так это будет выглядеть примерно так:
<p>Paragraph</p>
<ul>
<li>List item</li>
</ul>
Нет тега head
, нет тега body
, просто фрагмент HTML.
Я пытаюсь добавить поддержку определенных переменныхэто, когда вставлено в HTML, будет заменено динамическим контентом.Таким образом, HTML, вставленная переменная, может выглядеть так:
<p>Here's a variable: {widget}</p>
Я хочу заменить {widget}
на это:
<div class="widget">Hi, I'm a widget.</div>
FCKeditor инкапсулирует содержимое (правильно) в абзацы, когда вывставить разрыв строки.Так что, если бы я сделал прямую замену, результирующий HTML-код был бы таким:
<p>Here's a variable: <div class="widget">Hi, I'm a widget.</div></p>
Это не сработает, потому что тег div
находится внутри тега p
.Поэтому я хочу закрыть абзац и вставить после него DIV:
<p>Here's a variable: </p>
<div class="widget">Hi, I'm a widget.</div>
Давайте рассмотрим следующий пример:
<p class="someclass">Here's a <strong>variable: {widget} more</strong> content
after</p>
Я бы хотел получить такой результат:
<p class="someclass">Here's a <strong>variable: </strong></p>
<div class="widget">Hi, I'm a widget.</div>
<p class="someclass"><strong> more</strong> content after</p>
При каждом экземпляре {widget}
во фрагменте HTML мне нужно сделать «разрыв» в HTML.Для чего нужно закрыть каждый открытый тег, вставить код виджета, а затем снова открыть их все по порядку.
Возможно ли это с помощью синтаксического анализатора PHP HTML?Если так, как бы я поступил об этом?