Проблемы с контентом и новыми линиями PHP XPath

Я использую DOMXPath для запроса узлов в HTML-документе, содержимое которого я хотел бы извлечь.

У меня есть следующий HTML-документ:

<p class="data"> Immediate Text <br> Text In Second Line <br> E-Mail: <script>Some Script Tag</script> <a href="#"> <script>Another Script Tag</script> Some Link In Third Line </a> <br> Text In Last Line </p> 

Я хотел бы получить следующий результат:

Непосредственный текст \ r \ nТекст во второй строке \ r \ nE-Mail: некоторая ссылка в третьей строке \ r \ nТекст в последней строке

До сих пор у меня есть следующий код PHP:

 #... libxml_use_internal_errors(true); $dom = new \DOMDocument(); if(!$dom->loadHTML($html)) { #... } $xpath = \DOMXPath($dom); $result = $xpath->query("(//p[@class='data'])[1]/text()[not(parent::script)]"); 

Проблемы:

  • Он не включает тексты дочерних узлов.
  • Он не включает разрывы строк.