Probleme mit String

DerPeterA

Grünschnabel
Hallo und guten Tag,

seit einigen Tagen suche ich eine Lösung für mein folgendes Problem.
Bin bisher nicht fündig geworden.

Ich lese aus einer Datenbank eine HTML Seite aus. Diese zerlege ich in verschiedene String's. Das klappt prima.
Nun habe ich auf der Seite eine Tabelle deren Inhalt ganz verschieden sein kann.
Mal 10 Zeilen. Mal 250 Zeilen. (Diese Seite gibt es etwa 7000 mal in der Datenbank, jedesmal hat die eine Tabelle einen anderen Inhalt.)
Nun weiß ich nicht, wie ich eben diesen Abschnitt (Tabelle) in einen String bekomme. Ich bräuchte also sowas, wie ...nimm den öffnenden Table-Tag und den schließenden und pack alles was dazwischen ist in einen String.

Vielleicht hat ja jemand eine Idee.
Sollten noch Fragen sein, erklär ich's gern nochmal eine bisschen genauer.

Viele Grüße
Peter
 
Hallo,

ich denke, das das funktionieren könnte.

Obwohl ich, ehrlich gesagt, damit ein klein wenig überfordert bin.

Ich weiß nicht genau, wie ich das:

HTML:
 <table width=90% border=1>
als Anfang des Strings

und das:

HTML:
 </table><FONT color=#ff0000 size=5>
als Ende nehmen soll.

Das ist die einzige Möglichkeit den String zu finden. Und ich will dann praktisch alles haben, was sich dazwischen befindet.

Ich hoffe Du verstehst.
Viele Grüße
Peter
 
Wieso speicherst du überhaupt komplette HTML Seiten in einer SQL Datenbank

Aber ich würde es in ein Schleife machen in der du so lange jede Zeile ausliest bis die letzte Zeile erreicht ist. Dann ist es egal wie viele Zeilen deine Seite hat.

Gruß

mgd-one
 
Hallo,

die Datenbank existiert schon lange so, und soll auch so bleiben.
Gefällt mir auch nicht.
Im Moment bin ich soweit (Code ist gekürzt, da elendig lang).
Ich habe also alle Teile in Strings gepackt, welche immer gleich sind und in der neu zu erstellenden Seite ersetzt werden sollen.
Diese zu finden ist ganz einfach. Hab nur den HTML - Code reinkopiert und diesen ersetzen lassen.
Das funktioniert problemlos.
Jetzt sind aber zwischen den einzelnen $suchmuster noch Teile welche so bleiben müssen wie sie sind. ($suchmuster[6] z.B.
Diese haben immer eine unterschiedliche Länge und unterschiedlichen Inhalt.
Die einzigste gemeinsamkeit ist, das sie von einem öffnenden und einem schließenden Table-Tag umgeben sind.

Die Idee mit preg_match ist sicher eine Möglichkeit. Nur stoß ich da syntaktisch an meine Grenzen.

PHP:
 $zeichenkette = "$inhalt";
 
$suchmuster[0] = "^\<BODY\>\<P align=center\>\<STRONG\>\<FONT color=\#0
$suchmuster[1] = "^\<P\>\<STRONG\>\<SPAN style=\"FONT-SIZE: 36pt\"\>\<SPAN st
$suchmuster[2] = "^\<P\>\<STRONG\>\<FONT size=4\>Am Woch
$suchmuster[3] = "^\<P\>\<SPAN style=\"FONT-SIZE: 2
$suchmuster[4] = "^\<P\>\<U\>\<SPAN style=\"FONT-SIZE: 
$suchmuster[5] = "^\<P\>\<SPAN style=\"FONT-SIZE: 18pt\"\>\<O:
 
$suchmuster[6]=" öffnender Table-Tag----alles was dazwischen kommt----schließender Tag"
 
$ersetzungen[0] = "<body scroll='auto'>
<table width='100%' height='100%' border='1'>
<tr bgcolor='#CCCCCC'>
 
$ersetzungen[6]=$suchmuster[6]
 
$ersetzungen[2]="<P\>\<STRONG\>\<FONT size=4\>Am Woch

Vielleicht noch ein Anstoß
Viele Grüße
Peter
 
Hallo,

danke für die reichliche Mühe.

Bei deinem Vorschlag, Oliver, bekomm ich gleich den ersten HTML Tag als ergebnis.
Also den <html>.

Vielleicht bin ich auch einfach zu dumm.

Viele Grüße
Peter
 
Ich habe auch eben angefangen mit prag_match zu arbeiten. Ich wollte mir auf diese Weise eine Zeile einer Tabelle (von <tr> bis </tr>) ausgeben lassen. Allerdings versteh ich nun nicht, warum er mir den letzten schließenden <tr>- Tag ausgibt und nicht den 1.

Kann mir jemand helfen?
 
Zurück