Text an bestimmter Stelle im Satz auslesen
Tobby
- php
Hallo,
ich habe eine Datei mit folgendem Satzaufbau
<tr><td>...</td><td>...</td>...... </tr>
Jetzt möchte ich den Inhalt lesen der innerhalb des 6. Paares <td>...</td>
steht.
Wie mache ich dies am besten?
Gruß
Tobby
Wie mache ich dies am besten?
Mit einem XML- oder HTML-Parser.
SimpleXML oder Simple HTML DOM.
Danke,
Wie mache ich dies am besten?
Mit einem XML- oder HTML-Parser.
SimpleXML oder Simple HTML DOM.
Geht dies aber auch, wenn ich eine andere Struktur habe,
z.B
.... $a...$e .... $a....$e
und ich will den Inhalt des 6. Blocks $a...$e?
Gruß
Tobby
.... $a...$e .... $a....$e
und ich will den Inhalt des 6. Blocks $a...$e?
Wenn .... ... Auslassungszeichen für beliebigen HTML- oder XML-Code sind, ja.
Ansonsten kommst du mit Stringfunktionen oder PCRE weiter. Aber diese Keule ist idR. schwerer greifbar und unzuverlässiger als ein Parser, der genau für diesen Zweck gedacht ist.
Wenn du HTML hast, nimm einen HTML-Parser, wenn du XML hast, einen XML-Parser, wenn du CSV hast einen CSV-Parser - so einfach ist das.
Hi!
Jetzt möchte ich den Inhalt lesen der innerhalb des 6. Paares <td>...</td> steht.
Wie mache ich dies am besten?
Die erste Idee wäre sicher ein Regulärer Ausdruck. Wenn die Daten jedoch auch gemäß den XML-Regeln notiert sind, dann geht auch SimpleXML und ein XPath-Ausdruck.
Lo!
Hi,
Die erste Idee wäre sicher ein Regulärer Ausdruck.
Müsste ich dann 5 Mal das Paar angeben in der Art
^.*$a.*$e$a.*$e$a.*$e$a.*$e$a.*$e$a(.*)$e
Gruß
Tobby
Die erste Idee wäre sicher ein Regulärer Ausdruck.
Müsste ich dann 5 Mal das Paar angeben in der Art
^.*$a.*$e$a.*$e$a.*$e$a.*$e$a.*$e$a(.*)$e
Ich höhre Zawinsiki schon wieder rufen - mit dem Ausdruck (nichtmal in "der Art") wirst du bei deinem Problem nicht weit kommen. Mit SimpleXML und XPath wärest du mit etwa 3 Zeilen bereits am Ziel.
Hi!
Müsste ich dann 5 Mal das Paar angeben in der Art
^.*$a.*$e$a.*$e$a.*$e$a.*$e$a.*$e$a(.*)$e
Nein, es gibt so genannte Quantifizierer (quantifier).
Lo!
Müsste ich dann 5 Mal das Paar angeben in der Art
^.*$a.*$e$a.*$e$a.*$e$a.*$e$a.*$e$a(.*)$eNein, es gibt so genannte Quantifizierer (quantifier).
Quantifikator oder Quantor :) aber das mit dem relateinisieren klappt oft nicht so gut. Es kann also durchaus sein, dass "Quantifizierer" bald mal richtig ist. Aber auch "Identifizierer" ansatt "Identifikator" ist scheinbar schont weit verbreitet.
Hello,
ich habe eine Datei mit folgendem Satzaufbau
<tr><td>...</td><td>...</td>...... </tr>
Jetzt möchte ich den Inhalt lesen der innerhalb des 6. Paares <td>...</td>
steht.
Wie mache ich dies am besten?
Ganz ohne XML-Parser oder reguläre Ausdrücke geht es außerdem auch:
Du könntest explode am '<td>' anwenden und dann das Element[6] am '</td>' abschneiden, z.B. mit strpos() und substr() oder mit einem weiteren explode.
http://www.php.net/manual/en/function.explode.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Ganz ohne XML-Parser oder reguläre Ausdrücke geht es außerdem auch:
Du könntest explode am '<td>' anwenden und dann das Element[6] am '</td>' abschneiden, z.B. mit strpos() und substr() oder mit einem weiteren explode.
Oder aber mit preg_match_all() ohne quanftifier arbeiten und den 6. td-Inhalt verwenden.
Aber es gibt auch Leute, die mit einem spannungsprüfer Schrauben reindrehen, und sich wundern, wenn die Klinge bricht :p