как решить проблему с saveHTML()?

133
20 ноября 2020, 10:40
  $html = file_get_contents($location);
  $dom  = new DOMDocument;
  $dom->loadHTML($html,  LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
  $el = $dom->getElementById($first);
  $el->parentNode->removeChild($el);
  $b = html_entity_decode($dom->saveHTML());
  file_put_contents($location, $b);

Использую saveHTML() для сохранения данных в файл, но данная функция перестраивает структуру кода. Было так:

  <div id="1"></div>
  <div id="2"></div>
  <div id="3"></div>
  <div id="4"></div>

а после сохранения стало так:

  <div id="1">
    <div id="2"></div>
    <div id="4"></div>
  </div>

должно быть вот так после сохранения:

  <div id="1"></div>
  <div id="2"></div>
  <div id="4"></div>

Как это можно исправить?

Answer 1

Попробуйте так:

$html = '<tag>' . $html . '</tag>';
....
$b = str_replace(['<tag>', '</tag>'], '', $dom->saveHTML());
READ ALSO
Проблема при разворачивании битрикса

Проблема при разворачивании битрикса

Сайт работал в кодировке UTF-8Конфигурация сервера не соответствует требованиям

189
Вызов метода внутри конструктора

Вызов метода внутри конструктора

У меня есть вот такой код

138
нагрузочный тест на java

нагрузочный тест на java

Есть сервер, есть тестовый клиентКлиент посылает один запрос и получает один ответ

135