Я пишу свой собственный блог на PHP, я хочу, чтобы записи в Markdown отображали результаты в HTML, мне также нужно сделать несколько пользовательских вещей с HTML.
Существует простой скрипт, который может конвертировать Markdown в HTML, но мне нужно сделать кое-что с HTML, как только это будет сделано:
Мне нужно заменить все символы HTML внутри предварительного тега с помощью функции htmlentities (). (В моем блоге я пишу о коде, включая HTML, я только хочу отобразить этот HTML, а не анализировать его в браузере).
Мне нужно извлечь весь простой текст, чтобы в конце я мог создать выдержки, которые не включают теги изображения или полутэги (или фрагменты кода в pre). *
Я думал, что у меня есть решение проблемы 2 с помощью следующего кода:
$xml = new SimpleXMLElement('<xml>' . $html . '</xml>');
$ xml теперь выглядит примерно так:
<xml>
<p>some random text</p>
<img src='image.jpg'>
<p>some random text</p>
</xml>
это извлекает весь текст:
foreach($xml->{'p'} as $p){
echo $p . '<hr>';
}
Это работает, однако я также хочу, чтобы в него был включен весь текст, найденный в ul и ol (в том же порядке, в каком они появляются в XML. не могу найти, как проверить, является ли элемент ap, ul или ol.
И я не могу найти способ решить проблему 1, потому что я не знаю, как заменить содержимое в объекте XML, но оставляю все остальное нетронутым. (Или я упускаю что-то совершенно очевидное?)