Filtern in einem Text
Hugo
- php
Hi,
habe ein kleines das ich mit PHP zu bewältigen habe. Ich habe einen Quellcode einer HTML Seite in einer Variable. Der Quellcode könnte so aussehen:
<html>
<body>
<a href="seite.php?op=seite&sub=fisch">Seite</a><br>
<a href="seite.php?op=seite2&sub=fisch">Seite2</a><br>
<a href = "seite.php?op=seite3&sub=reh" target="_blank">Seite3</a><br>
<!-- anderer krust-->
</body>
</html>
So und nun möchte ich mit irgend einem Verfahren den Code durchsuchen und alle Links inkl. Text entfernen, die als sub=fisch im link stehen haben. Ja, ich könnte nun an 20 verschiedenen Stellen den Code ein split() (oder explode()) machen, dann nach Gleichheit prüfen und dann die entsprechenden Teile weiter zusammen setzen. Allerdings gibt es ja verschiedene Schreibweisen von dem <a href...> (also mit mehreren leerzeichen und/oder weiteren Parametern). Und zu dem wäre diese Variante nicht gerade sehr performance freundlich und sauber. Ich hatte da an reguläre Ausdrücke oder so gedacht. Aber das habe ich nicht so ganz hinbekommen. Habt ihr eine Idee?
Gruß,
Hugo
Hallo Freunde des gehobenen Forumsgenusses,
So und nun möchte ich mit irgend einem Verfahren den Code durchsuchen und alle Links inkl. Text entfernen, die als sub=fisch im link stehen haben. [...] Habt ihr eine Idee?
Ich würde am "<a" exploden, für jedes Element des Arrays prüfen
ob es "&sub=fisch" enthält, wenn ja alles bis zum "</a>"
entfernen und das Ergebnis mit "<a" wieder imploden.
Da man dafür nur String-Funktionen braucht ist das sehr performant
(im Vergleich zu regulären Audrücken).
Gruß
Alexander Brock