RegEx
LeKuchen
- javascript
Hallo zusammen,
trotz massenhaft Anleitungen im Web raffe ich es irgendwie nicht.
Ich möchte in JS einen Match auf HTML-Code machen, Browser nur IE.
HTML:
<TABLE cellSpacing=1 cellPadding=2>
<tr>
<td>test
...beliebiger Code...
bla</td>
</tr>
</TABLE>
Gematcht werden soll die gesamte Tabelle. Soweit bin ich gekommen:
var qc = document.body.innerHTML;
var sst = qc.match(/<TABLE cellSpacing=1 cellPadding=2>\r\n<TBODY>\r\n(.*?)\r\n</TBODY></TABLE>\r\n/i);
Klappt aber immernoch nicht. Jemand einen Tipp?
LeKuchen
HTML:
<TABLE cellSpacing=1 cellPadding=2>
<tr>
/<TABLE cellSpacing=1 cellPadding=2>\r\n<TBODY>
Ich würde behaupten, dass es zumindest schon mal schwierig ist, eine Übereinstimmung zwischen einem Text und einem Muster zu erhalten, wenn das Muster "<TBODY>" enthält, der Text aber offenbar nicht.
Hallo,
Ich würde behaupten, dass es zumindest schon mal schwierig ist, eine Übereinstimmung zwischen einem Text und einem Muster zu erhalten, wenn das Muster "<TBODY>" enthält, der Text aber offenbar nicht.
Wenn Du Dir mal document.body.innerHTML ausgeben lässt, dann wirst du sehen, dass dort sehr wohl ein "<TBODY>" enthalten ist, obwohl nicht im HTML-Code angegeben.... :rolleyes:
Das hier matcht das Beispiel, aber es könenn natürlich beliebig viele Zeilen HTML Code zwischen öffnendem und schließendem TABLE-Tag kommen.
qc.match(/<TABLE cellSpacing=1 cellPadding=2>\r\n.*\r\n.*\r\n.*</TABLE>/i)
LeKuchen
gudn tach!
Gematcht werden soll die gesamte Tabelle.
kannst auch einfach ohne regexp nach dem ersten vorkommnis von "<table>" und nach dem ersten von "</table>" suchen, und mit einer substring-funktion alles dazwischen extrahieren.
var sst = qc.match(/<TABLE cellSpacing=1 cellPadding=2>\r\n<TBODY>\r\n(.*?)\r\n</TBODY></TABLE>\r\n/i);
Klappt aber immernoch nicht. Jemand einen Tipp?
leider gibt es afais den s-modifier nicht nicht js. insofern waere es hier wohl wirklich das geschickteste auf regexp zu verzichten.
prost
seth