XHTML aus XML - gesamten Inhalt eines Elements als String einlesen

Methode: get_content()

Immer wieder taucht das Problem auf, dass man HTML unbürokratisch innerhalb eines XML-Elements transportieren möchte. Daher kann es nützlich sein, den Inhalt eines XML-Elements als String einzulesen, ohne sich darum kümmern zu müssen, ob weitere XML-Elemente im String vorhanden sind.

Unsere Beispieldatei enthält eine komplette HTML-Seite


<artikel datum="2004-05-09">
  -  <autor>Heinz Stratmann</autor>
  -  <htmlseite id="qxw" language="de" archiv="334">
  -     -  <html lang="de">
  -     -     -  <head>
  -     -     -     -  <title>Brieftauben im Ruhrgebiet</title>
  -     -     -  </head>
  -     -     -  <body>
  -     -     -     -  <h1>Brieftauben im Ruhrgebiet</h1>
  -     -     -     -  <p>Der Brieftaubenverein trifft sich am n</p>
  -     -     -  </body>
  -     -  </html>
  -  </htmlseite>
</artikel>

Codebeispiel:


<?php
require_once("../xml-line.php");
$mylines = new xml_line("xml-files/brieftauben.xml");
$mylines->get_content(0,"htmlseite");
$result=$mylines->xml_stream();
echo "<pre>";
echo htmlentities(print_r($result, true));
echo "</pre>";
?>

Das Ergebnis-Array:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 
	<html lang="de">
      <head>
      <title>Brieftauben im Ruhrgebiet</title>
      </head>
      <body>
      <h1>Brieftauben im Ruhrgebiet</h1>
	  <p>Der Brieftaubenverein trifft sich am n</p>
      </body>
      </html>
	  
                    [1] => htmlseite
                    [2] => Array
                        (
                            [id] => qxw
                            [language] => de
                            [archiv] => 334
                        )

                    [3] => artikel/htmlseite
                    [4] => 1-1
                )

        )

)

Wie wir sehen, befindet sich jetzt unsere HTML-Seite als String komplett im Ergebnis-Array und kann als
$result[0][0][0]
abgerufen werden.