как сохранить <br/> теги при использовании Dom в php для анализа html-документа?

Я использую dom в php для получения содержимого div по $node->nodeValue . Этот div имеет много <br/> тегов в своем контенте, но после того, как я сохранил его в базе данных и вывел его в браузере, все теги <br/> заменяются на пробелы. Я хочу сохранить теги <br/> , как мне это достичь?

DOMNode::nodeValue вернет только текстовое содержимое.

Поскольку <br /> является дочерним элементом, он не будет возвращен.

Лучше всего

  1. Создать пустую временную строку
  2. Перебирать все дочерние узлы в вашем $node
  3. Получите разметку каждого дочернего узла с помощью DOMDocument::saveHTML()
  4. Объедините эту строку со своим временным
  5. Сохраните строку temp в базе данных

Что-то вроде этого – http://www.php.net/manual/en/book.dom.php#89718

nodeValue возвращает только текстовые данные (если они используются на элементах-узлах). Получить содержимое с помощью saveXML ()

 $node->ownerDocument->saveXML($node); 

Предполагая, что вы используете MySQL (поскольку вы не говорите), убедитесь, что вы используете функцию mysql_real_escape_string . Ответ доктора Молле может дать дополнительную информацию.

http://php.net/manual/en/function.mysql-real-escape-string.php