JavaScript RegExp Titel & Inhalt aus Tabelle

fel1x.

Lt. Commander
Registriert
Apr. 2010
Beiträge
1.305
Hi Leute,

ich möchte gerne mittels regulärem Ausdruck den "title" und den Inhalt einer Tabellenspalte auslesen.

Folgende Tabelle ist gegeben:
HTML:
<table><tr><td title="techname1">content1</td><td title="techname2">content2</td><td title="techname3">content3</td></tr></table>

Mit dem ersten regulären Ausdruck möchte ich den Namen vom title (technameX) und mit dem zweiten dessen Spalteninhalt (contentX).

Das ganze würde ich dann per match und "Operator" (wie nennt man die Steuerdinger richtig?) "/gi", so dass ich mir das in ein Array speicher.

bisheriger Ansatz war:
Code:
var row = "TABELLE SIEHE OBEN";
var cell = row.match("td title=\"(.*?)\"");
// do something
alert(cell[0]);

Das funktioniert zwar auch, aber dann müsste ich vorne noch das ganze Gedöns wegschneiden, da cell[0] "<td title="techname1" ist.


Danke für die Hilfe und angenehmen 3. Advent,
Felix
 
Prüf am besten mal ob es da nicht sinnvoller, zuverlässiger und einfacher ist XPath zu verwenden anstatt das per RegExp manuell zu parsen.
 
fel1x. schrieb:
Hi Leute,

ich möchte gerne mittels regulärem Ausdruck den "title" und den Inhalt einer Tabellenspalte auslesen.

Folgende Tabelle ist gegeben:
HTML:
<table><tr><td title="techname1">content1</td><td title="techname2">content2</td><td title="techname3">content3</td></tr></table>

Mit dem ersten regulären Ausdruck möchte ich den Namen vom title (technameX) und mit dem zweiten dessen Spalteninhalt (contentX).

Das ganze würde ich dann per match und "Operator" (wie nennt man die Steuerdinger richtig?) "/gi", so dass ich mir das in ein Array speicher.

bisheriger Ansatz war:
Code:
var row = "TABELLE SIEHE OBEN";
var cell = row.match("td title=\"(.*?)\"");
// do something
alert(cell[0]);

Das funktioniert zwar auch, aber dann müsste ich vorne noch das ganze Gedöns wegschneiden, da cell[0] "<td title="techname1" ist.


Danke für die Hilfe und angenehmen 3. Advent,
Felix
dann greif auf cell[1] zu, da sollte drin stehen, was in den Klammern des regulären Ausdrucks gematched wurde


mit
Code:
"<td title=\"(.*?)\">(.*?)</td>"
bekommst du auch den Inhalt direkt mit (cell[1] & cell[2])
 
Zurück
Oben