Erledigt: [PHP] Links entfernen

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hallo,

ich habe folgendes Problem. Ich lese über die Funktion fgets den HTML-Code einer Datei ein.

Folgende Tabelle wird hierbei eingelsen:
HTML:
<TABLE BORDER=0 CLASS='data'>
<TR><TH CLASS='data'>Host</TH><TH CLASS='data'>% Time Up</TH><TH CLASS='data'>% Time Down</TH><TH CLASS='data'>% Time Unreachable</TH><TH CLASS='data'>% Time Undetermined</TH></TR>
<tr CLASS='dataOdd'><td CLASS='dataOdd'><a href='https://x.x.x.x/nagios/cgi-bin/avail.cgi?host=GP&show_log_entries&t1=1184493780&t2=1184580180&backtrack=4&assumestateretention=yes&assumeinitialstates=yes&assumestatesduringnotrunning=yes&initialassumedhoststate=0&initialassumedservicestate=0&show_log_entries&showscheduleddowntime=yes'>GP</a></td><td CLASS='hostUP'>100.000% (100.000%)</td><td CLASS='hostDOWN'>0.000% (0.000%)</td><td CLASS='hostUNREACHABLE'>0.000% (0.000%)</td><td class='dataOdd'>0.000%</td></tr>
<tr CLASS='dataEven'><td CLASS='dataEven'><a href='https://x.x.x.x/nagios/cgi-bin/avail.cgi?host=Google&show_log_entries&t1=1184493780&t2=1184580180&backtrack=4&assumestateretention=yes&assumeinitialstates=yes&assumestatesduringnotrunning=yes&initialassumedhoststate=0&initialassumedservicestate=0&show_log_entries&showscheduleddowntime=yes'>Google</a></td><td CLASS='hostUP'>0.000% (0.000%)</td><td CLASS='hostDOWN'>100.000% (100.000%)</td><td CLASS='hostUNREACHABLE'>0.000% (0.000%)</td><td class='dataEven'>0.000%</td></tr>
<tr CLASS='dataOdd'><td CLASS='dataOdd'><a href='https://x.x.x.x/nagios/cgi-bin/avail.cgi?host=HP-ColorJet-2605dn&show_log_entries&t1=1184493780&t2=1184580180&backtrack=4&assumestateretention=yes&assumeinitialstates=yes&assumestatesduringnotrunning=yes&initialassumedhoststate=0&initialassumedservicestate=0&show_log_entries&showscheduleddowntime=yes'>HP-ColorJet-2605dn</a></td><td CLASS='hostUP'>95.208% (95.208%)</td><td CLASS='hostDOWN'>4.792% (4.792%)</td><td CLASS='hostUNREACHABLE'>0.000% (0.000%)</td><td class='dataOdd'>0.000%</td></tr>
</table>

Nun habe ich hier aber, wie ihr sehen könnt, ziemlich lange Links im Code die ich automatisch herausfiltern möchte. Gibt es hierfür eine Funktion oder kann mir jemand Tipps geben wie ich das realisieren kann?

MFG
Papenburger
 
Zuletzt bearbeitet:
Reguläre Ausdrücke sind deine Freunde ... ;)

Ersteinmal danke für die Antwort.
Mein Problem ist aber noch, dass ich nie weiß wie lang der Link ist und was der Link alles enthällt. Diese HTML-Seiten werden von einem Shell-Script erstellt, welches ich nicht bearbeiten darf!

MFG
Papenburger
 
Hallo,
ich kann dir keinen konkreten Code geben, da ich mich mit diesen regulären Ausdrücken auch immer rumquäle. Aber von der Logik her müsstes du so vorgehen:
Suche nach "<a $bla>$text</a>" und ersetze es mit "$text".

Da brauchst du nicht zu wissen wie lang das ganze ist, und was es enthält. Anfang und Ende sind eindeutig.Und was verlinkt wird auch.

Hoffe das hilft dir nen schritt weiter.

Tschau

tobias