• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

preg_match_all

vit_o

Neues Mitglied
Guten Abend,
ich versuche mithilfe von preg_match_all() den Inhalt einer Tabelle mit der id "id" zu erhalten, was aber nicht ganz funktioniert.
Code:
preg_match_all('/<table.+id=["|\']id["|\'].+>(.+)<\/table>/i', $html, $matches);
Der Abschnitt indem gesucht wird sieht so aus:
Code:
<table id="id" class="class">Inhalt</table>
Als Ergebnis hätte ich in diesem beispiel gerne den String "Inhalt" als Ergebnis.
Wenn ich nur mit dem ersten Teil
Code:
<table.+id=["|\']id["|\'].+>
suche findet er die Tabelle aber der Inhalt der mich eigentlich interessiert wird natürlich nicht zurückgegeben.
Wo liegt da der Fehler?
 
Wenn du mit diesem String:
Code:
gjghggkhjhk<table id="id" class="class">Inhalt</table>sfdghdfh
getestet hast, dann funktioniert es auch.

[...]denn er funktioniert bei mir zumindest nicht.
ist im Allgemeinen keine sinnvolle Fehlerbeschreibung! Interessant wäre zu erfahren, mit welchem String du getestet hast!

[...]aber der Inhalt der mich eigentlich interessiert wird natürlich nicht zurückgegeben.

Welcher Teil interessiert dich denn?
 
Könnte es vllt daran liegen, dass der Inhalt der Tabelle die ich al Vorlage habe mehrzeilig ist? Eigentlich interessieren mich die Links in der 3. Spalte der Tabelle.(Es ist immer nur 1 Link Pro Zelle vorhanden; Ich brauche aus jeder Zeile den Link der sich in der 3. Zelle befindent) Der Originalsting ist der Quelltext dieser Seite.
 
sag uns doch einfch einen genauen link und eine genaue textpassage die du aus dieser seite auslesen willst und wir basteln dir schnell was... das geht wesentlich schneller als dieses genze hin und her gerate was du jetzt willst
 
Genau, manchmal denke ich, ich sei der Einzige der denkt! Er hat keine Lust die Stelle zu suchen, wir haben keine Lust die Stelle zu suchen. Nur hat er das Problem, dass er die Hilfe braucht und wir nicht. Vielleicht hat er das vergessen?

Viele wollen einfach nur die Lösung hingeklatscht bekommen und das ohne viel Eigenaufwand!
 
Ok ok, die Seite ist wie gesagt die hier. Die Tabelle aus der ich die Links aus der 3 spalte haben will, beginnt ab Zeile 419 und endet in Zeile 674. Die id dieser Tabelle ist albumTracklist. Sry wenn ich eure Zeit verschwendet habe. Das war sicher nicht mein Ziel und ich wollte auch eig keine "Lösung hingeklatscht bekommen" sondern schon verstehen was ich da tue. Vllt hilft euch mein Versuch auch schon weiter. Ich habe die 3.Spalte extrahieren können, aber mein subpattern wird jedes Mal wieder überschrieben. hier mein Suchmuster:
Code:
/<table.*id=["|\']albumTracklist["|\'].*>\s*<thead>.*<\/thead>\s*<tbody>\s*(?:<tr.*?>\s*(?:<td.*?>\s*.*\s*<\/td>\s*){0,2}(?:<td.*?>\s*(.*)\s*<\/td>\s*){1,1}(?:<td.*?>(?:\s*.*\s*)*?<\/td>\s*)+<\/tr>)+\s*<\/tbody>\s*<\/table>/i
 
der link sieht so aus

Code:
<a href="/music/Boys+Like+Girls/Boys+Like+Girls/The+Great+Escape" album="">The Great Escape</a>

und ich würde mal sagen das alle links eindeutig durch album="" gekennzeichnet werden also machen wir es uns doch einfach ^^

Code:
/\<a href="([^"]+)" album=""\>([^\<]+)\<\/a\>/sU
 
Zurück
Oben