String aus String "fischen"

  • Hallo alle zusammen,

    ich arbeite gerade an einer Template-Klasse in PHP und möchte da was einbauen womit ich sozusagen eigene HTML-Tag realisieren kann. Nun suche ich etwas wie ich den Inhalt eines Tages in einen Array bekomme. Beispiel:

    Code
    <beispiel>Hier ist mein Text</beispiel><br />
    Hier gehts weiter<br />
    <beispiel>Hier ist Text no.2</beispiel>

    Nun möchte ich das so ausgelesen bekommen (in einem Array am liebsten)

    PHP
    array(
        0 => Hier ist mein Text,
        1 => Hier ist Text no.2
    );

    Hoffe ihr versteht wie ich das meine. Ich weiß das es mit Regex geht, aber die Funktion ist mir unbekannt und das mit Regex klappt irgendwie auch nicht wirklich.

    aaa.html beinhaltet:

    Code
    <cache time="30">Test</cache>
    <cache time="40">Test2</cache>

    Ausgabe:

    Zitat

    Array ( [0] => Array ( [0] => Test Test2 ) [1] => Array ( [0] => "30">Test Array ( [0] => Test2 ) )

    In dem Fall möchte ich aber was wie

    Zitat

    Array ( [0] => Array( [0] => 30 [1] => Test) [1] => Array( [0] => 40 [1] => Test2) ) ]


    Danke im vorraus!


  • Regexp ist ganz nett, um schnell mal ein wenig zu manipulieren.
    Für ernsthaftes Parsen ist das nicht geeignet.
    Da du ja XML haben möchtest und dir nicht irgendetwas selber schreibst, kannst du natürlich auch vorgefertige XML-Klassen und -Funktionen benutzen. Such einfach bei php.net, phpclasses.org und pear.php.net und schau, womit du am besten zurecht kommst.
    Am Ende fügst du die XML-Struktur eben wieder zusammen und du hast HTML...

  • Öhm nein ich glaube ihr versteht mich falsch.

    Zitat

    Da du ja XML haben möchtest und dir nicht irgendetwas selber schreibst [...]

    Genau das möchte ich eigentlich machen und XML war nie in meiner Planung. Ich möchte eine Template-Klasse mit PHP schreiben und das u.a. mit der Funktion wo ich mit einem neuen "HTML-Tag" bestimmte Abschnitte des Templates cachen möchte. Der eine Bereich 30 Sekunden der andere 40 Sekunden (in diesem Beispiel).

    Ich frage nun wie ich aus einem langen String, also dern Inhalt der Template welche ich per "file_get_contents" in eine Variable lade, die Stellen zwischen diesem neuen HTML-Tag auslesen kann um diese dann weiter zu bearbeiten.

    Hoffe so ist es verständlicher.

    lg Red


  • Ich glaube du missverstehst XML. ;)
    XML ist eine Meta-Sprache mit öffnenden und schließenden Tags sowie den Attributen. XHTML ist lediglich eine konkrete Sprache in XML-Form. Wenn du jetzt eigene Tags hinzufügst, ist das immer noch XML.
    Du kannst mit bestimmten Funktionen die einzelnen Tags auslesen und dementsprechend intern Daten bearbeiten. Dann fügst du alles zusammen (gibst also Sachen aus) und hast XHTML.

  • Irgendwie glaube ich auch das ich da was nicht versteh X(
    Meine Frage hatte weniger mit XML zu tun, eher mit PHP :?

    Entschuldige mich falls ich an dir vorbeilese aber ich steh grade auf dem Schlauch :lol: