Intereting Posts
FFMpeg работает в командной строке, но не на PHP, используя exec (); странная ошибка reCaptcha в PHP Как передать параметр, такой как заголовок, сводка и изображение в URL-адресе Sharing CkFinder Режим «Редактировать», как установить настройки «Сохранить изменения» («Перезаписать файл») Добавьте один дополнительный разрыв строки в тексте в php Magento – удалите доставку и обработку при использовании Freeshipping Echo многомерный массив в PHP PHP MySQL вставляет многомерный ассоциативный массив, строящий запрос из ключей массива Получить дату создания изображения в PHP GD PHP Проверьте, содержит ли строка письмо Вставить строку в ассоциативный массив Как добавить событие Google Calendar с помощью Google Api 3 для любого пользователя в домене? Определение того, что два временных диапазона перекрываются в любой точке Ошибка проверки парсера XML. Сравнение двух строк даты ISO8601 в PHP

Сохранение разрывов строк в узле xml

Я пытаюсь преобразовать строки в узле XML в неупорядоченный список, однако у меня есть некоторые трудности.

Возьмем, к примеру, этот узел:

<test> Line1 Line2 Line3 </test> 

Я хотел бы преобразовать его в это с помощью PHP

  <ul> <li>Line1</li> <li>Line2</li> <li>Line3</li> </ul> 

Я пробовал использовать DOMDocument и SimpleXML, однако, похоже, они не сохраняют новые строки. Когда эхо, значение узла выглядит следующим образом:

  Line1 Line2 Line3 

Я также попытался explode , чтобы иметь массив, содержащий каждую строку в качестве элемента:

  $lines = explode( '\n', $node->nodeValue); 

Однако он возвращает массив только с одним элементом, поэтому я не могу сделать с ним неупорядоченный список.

Есть ли простой способ сделать это?

Благодарю.

Ты собираешься пинать себя. '\n' должно быть "\n" ! Вот полный пример:

 $Dom = new DOMDocument('1.0', 'utf-8'); $Dom->loadXML( '<test> Line1 Line2 Line3 </test>'); $value = $Dom->documentElement->nodeValue; $lines = explode("\n", $value); $lines = array_map('trim', $lines); // remove leading and trailing whitespace $lines = array_filter($lines); // remove empty elements echo '<ul>'; foreach($lines as $line) { echo '<li>', htmlentities($line), '</li>'; } echo '</ul>';