Forum Doku Wiki Blog

Forumsarchiv 2004, August
Reguläre Ausdrücke

archivierte Beiträge lesen

  1. (PHP) Reguläre Ausdrücke von wuscheck, 19. 08. 2004, 11:51

Reguläre Ausdrücke

Der folgende Beitrag wurde am 19. 08. 2004, 11:51 Uhr von wuscheck veröffentlicht.

Hallo Leutz,

ich verwende in einer Datei reguläre Ausdrücke, um eine Tabellen-Zeile zu löschen. Ich bin mir zwar sicher, dass der Ausdruck richtig ist, aber das Ergebnis sagt mir etwas anderes...

Hier der Ausdruck:
$value = eregi_replace( "/<td><a href=[^>]*>.*?<\/font><\/nobr><\/a><\/td>/", "", $value );

Hier der ursprüngliche Code:
<td><a href="javascript:somA(4,'0','037');" onmouseover="chgSt();return true;"><nobr><font class="V10" title="Spiel zeigen">BOL-M  037</font></nobr></a></td>


Ich möchte die Table-Tags und alles was dazwischen steht löschen.

Ergebnis: Es wird nichts gelöscht! Warum?

Gruss Pate

Reguläre Ausdrücke

Der folgende Beitrag wurde am 19. 08. 2004, 12:04 Uhr von Joerg Peschke veröffentlicht.

Ohne es jetzt getestet zu haben, könnte ich mir vorstellen, dass Dein Suchmuster zu gierig ist:
Mit <a href[^>]*> geht er bis ans ende des TD-Tags, und dann findet er nichts mehr, auf das er matchen kann.

Wie sieht das Ergebnis mit
<a href[^>]*?> aus?



Gruss,
Joerg

> Hier der Ausdruck:
> $value = eregi_replace( "/<td><a href=[^>]*>.*?<\/font><\/nobr><\/a><\/td>/", "", $value );
>
> Hier der ursprüngliche Code:
> <td><a href="javascript:somA(4,'0','037');" onmouseover="chgSt();return true;"><nobr><font class="V10" title="Spiel zeigen">BOL-M  037</font></nobr></a></td>
öscht!±

Reguläre Ausdrücke

Der folgende Beitrag wurde am 19. 08. 2004, 13:10 Uhr von wuscheck veröffentlicht.

>
> Wie sieht das Ergebnis mit
> <a href[^>]*?> aus?
>
Ich habe einfach ereg durch preg ersetzt und schon klappt es.... allerdings nur bei einem der Probleme. Ein anderes ist das folgende:

Original:
<tr valign="TOP">
<td class="RV10BL"><b>*</b></td>
<td align="center">1410701150</td><td CLASS="V8" colspan="4">blubber</td><td class="V8" colspan="6" align="right">bla</td>
</tr>

Code:
$value = preg_replace( "/<tr valign[^>]*>.*?<\/tr>/", "", $value );

Ergebnis: Es soll alles was zwischen den tr-Tags steht gelöscht werden plus die tr-Tags selbst.

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4