Я пытаюсь преобразовать строки в узле 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>';