Beitrag von H.Fehde (724 Beiträge) am Samstag, 20.April.2013, 14:58.
regex: aus einem Code nur die bzw. alle "<table ..>... </Table> auslesen ?
Kennt jemand ne regex - die aus einem beliebigen Code NUR die Tabellen auslesen kann.
Beispiel-Code:
"das ist eine 1.Tabelle
<table ...><tr...>
<td...>Zelle1</td><td>Zelle2</td>
</tr>
</table>
und hier folget eine 2. Table:
<table ...><tr>
<td ...>Zelle11</td><td>Zelle21</td>
</tr>
</table>"
Die Regex soll liefern:
"<table...><tr>
<td ...>Zelle1</td><td>Zelle2</td>
</tr>
</table>
<table><tr>
<td>Zelle11</td><td>Zelle21</td>
</tr>
</table>"
D.H. alle Tabellen sollen vollständig mit Attributen oder Werten erhalten bleiben - alles was nicht zu Tabellen gehört, soll raus .
Ich danke für Hinweise - Harald
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 21.April.2013, 23:17.
Re: regex: aus einem Code nur die bzw. alle "<table ..>... </Table> auslesen ?
Antworten
Beitrag von H.Fehde (724 Beiträge) am Montag, 22.April.2013, 20:12.
Re: Re: regex: aus einem Code nur die bzw. alle "&lt;table ..&gt;... &lt;/Table&gt; auslesen ?
fast richtig.
ich habs so gemacht:
<perl>
$var=qq(<span style="color:red">Eine 1.Tabelle - soll NICHT erscheinen !!</span>
<table bgcolor="#c0c0c0" border="1">
<tr>
<td><span style="color:#ffffff">Zelle1</span></td>
<td>Zelle2</td>
</tr>
</table>
<!--- Nachfolgendes bleibt leider stehen --->
<span style="color:red">und hier folget eine 2. Tabelle - soll NICHT erscheinen !!</span>
<table border="3">
<tr>
<td bgcolor="#c0d0e0">Zelle11</td>
<td>Zelle21</td>
</tr></table>
<span style="color:red">Unbd weiter mit TEXT,der auch raus soll !!</span>
);
$var=~/(<table.+<\/table>)/is;
$var=$1;
#########
out $1;
</perl>
Leider bleibt genau der Code zwischen den beiden Tabellen drinn ? - der soll aber auch noch raus ??
Noch ne Idee ? - Gruß Harald
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 22.April.2013, 21:14.
Re: Re: Re: regex: aus einem Code nur die bzw. alle "&amp;lt;table ..&amp;gt;... &amp;lt;/Table&amp;gt; auslesen ?
achso, ich dachte, vom ersten <table bis zum letzen </table alles...
dann so:
<perl>
$var=qq(<span style="color:red">Eine 1.Tabelle - soll NICHT erscheinen !!</span>
<table bgcolor="#c0c0c0" border="1">
<tr>
<td><span style="color:#ffffff">Zelle1</span></td>
<td>Zelle2</td>
</tr>
</table>
<!--- Nachfolgendes bleibt leider stehen --->
<span style="color:red">und hier folget eine 2. Tabelle - soll NICHT erscheinen !!</span>
<table border="3">
<tr>
<td bgcolor="#c0d0e0">Zelle11</td>
<td>Zelle21</td>
</tr></table>
<span style="color:red">Unbd weiter mit TEXT,der auch raus soll !!</span>
);
@res=$var=~/(<table.+?<\/table>)/gis;
#########
Antworten
Beitrag von H.Fehde (724 Beiträge) am Montag, 22.April.2013, 23:26.
Re: Re: Re: Re: regex: aus einem Code nur die bzw. alle "&amp;amp;lt;table ..&amp;amp;gt;... &amp;amp;lt;/Table&amp;amp;gt; auslesen ?
Prima - das war's genau - Danke Harald
Antworten