Markus89: werte aus String in Array speichern

Hi

Ich habe in einer PHP-Variable den Quellcode einer Tabelle gespeichert.

zB:

$string_tabelle = '

<table>
  <tr>
    <td>Text1</td>
    <td>Text2</td>
    <td>Text3</td>
    <td>Text4</td>
    <td>Text5</td>
    <td>Text6</td>
    <td>Text7</td>
    <td>Text8</td>
    <td>Text9</td>
  </tr>
</table>

';

Wie kann ich nun die einzelnen Inhalte der Zellen einzeln in ein Array speichern?

Danke für eure Hilfe.

mfg Rene

  1. Hallo,

    Wie kann ich nun die einzelnen Inhalte der Zellen einzeln in ein Array speichern?

    auf Anhieb würde ich sagen "benutze dafür die DOM-Funktionen oder die Simple-XML-Funktionen oder die XML-Funktionen".
    Vielleicht ist die Keule da aber auch zu groß.
    Wenn in den <td> wirklich immer nur Text steht wird sicher auch eine RegExp reichen, damit kenn ich mich aber nicht aus.

    Grüße, Matze

    1. Danke für deine Hilfe

      Ich würde es gerne in PHP bearbeiten bevor ich die Seite ausgebe.

      Die Möglichkeit mit JavaScript/DOM ist mir bekannt nur ich möchte ohne JS arbeiten.

      mfg

      1. Hi,

        Ich würde es gerne in PHP bearbeiten bevor ich die Seite ausgebe.

        Dann mach das.

        Die Möglichkeit mit JavaScript/DOM ist mir bekannt nur ich möchte ohne JS arbeiten.

        Dann mach das.

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
      2. Hi!

        Ich würde es gerne in PHP bearbeiten bevor ich die Seite ausgebe.

        Du darfst die Dir angebotenen Links gerne benutzen - das ist deren Sinn;)
        Alle hier genannten Möglichkeiten beziehen sich auf PHP!

        IMHO reicht aber auch eine Kombination von str_replace und explode, falls Du Deinen Anwendungsfall im Ursprungsposting nicht zu sehr simplifiziert hast.

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
      3. Hello,

        Ich würde es gerne in PHP bearbeiten bevor ich die Seite ausgebe.
        Die Möglichkeit mit JavaScript/DOM ist mir bekannt nur ich möchte ohne JS arbeiten.

        Man kann einen DOM-Parser natürlich auch innerhalb von PHP starten.
        Das ist nicht derselbe Parser, wie im Browser, aber einer mit gleichen oder ähnlichen Funktionen :-)

        http://de2.php.net/manual/en/book.xml.php
        http://de2.php.net/manual/en/refs.xml.php

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
  2. Hello,

    Ich habe in einer PHP-Variable den Quellcode einer Tabelle gespeichert.

    <?php   ### simple_template.php ###

    header('Content-Type: text/html');

    $string_tabelle = '

    <table>
        <tr>
          <td>Text1</td>
          <td>Text2</td>
          <td>Text3</td>
          <td>Text4</td>
          <td>Text5</td>
          <td>Text6</td>
          <td>Text7</td>
          <td>Text8</td>
          <td>Text9</td>
        </tr>
      </table>

    ';

    #  Wie kann ich nun die einzelnen Inhalte der Zellen einzeln in ein Array speichern?

    $_output = array();
      $_output['Text1'] = 'Hans';
      $_output['Text2'] = 'Mustermann';
      $_output['Text3'] = 'Karlstraße';
      $_output['Text4'] = '55555';
      $_output['Text5'] = 'Musterstadt';
      $_output['Text6'] = '01234/555678';
      $_output['Text7'] = 'hans.mustermann@domain.tld';

    $page = str_replace(array_keys($_output),$_output, $string_tabelle);

    echo $page;
    ?>

    Einfacher geht es nicht.
    Jetzt musst Du nur dafür sorgen, dass die zu ersetzenden Strings mindestens ein Zeichen enthaltebn, das für das normale HTML-Dokument nicht benutzt wird, dann ist es sogar sehr zuverlässig.

    str_replace wird strikt der Reihe nach abgearbeitet. Du kannst also witer vorne im Array Platzhelter einsetzen, die selber wieder Platzhalter enthalten. Diese werden dann anschließend auch ersetzt, wenn es einen Eintrag dafür gibt. Auf diese Weise kann man z.B. komplexe Table-in_Table-Konstrukte erzeugen (die Sinnhaftigkeit mal außen vor), ohne die Übersicht zu verlieren.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de