Regulärer Ausdruck um bestimmten Linktext zu finden, den gesamten Link highlighten

ev0lst

Erfahrenes Mitglied
Hallo,

ich stehe gerade vor einem kleinen "Problem". Ich möchte HTML Codes durchsuchen können (das geht bereits) und dann bei einer Übereinstimmung den gesamten Link markieren (via CSS z.B.)

Die Idee ist, dass ich alle Links einem bestimmten Linktext komplett highlighten kann. Natürlich in der HTML Ansicht und nicht gerendert im Browser.

Im Code sollte es dann so aussehen:

Anforderung: Suche alle Links die den Linktext "foobar" haben und gebe mir dann den gesamten Link zurück.

Quellcode Original: .... <a href="http://....">foobar</a> ....

Nun kann ich prüfen ob das Wort "foobar" vorhanden ist, aber wie kann ich nun sagen: Gebe mir den gesamten Link (<a href="http://....">foobar</a>)? So dass ich den Link highlighten kann, z.B. so <span class="highlight"><a href="http://....">foobar</a></span>

Schwer zu erklären wie ich das meine, hoffe aber einer kann mir helfen.

Danke!
 
Ja das geht, aber BITTE, BITTE nutze DOMDocument.
Gib mir mal bitte einen vollständigen Originalquellcode und ein vollständiges Highlight-beispiel dann mach ich das fix...
 
Hi alxy,

danke für die schnelle Antwort!

Hier einmal mein preg_match, mit dem ich arbeite:


PHP:
preg_match( '/google/Uis', $code, $match, PREG_OFFSET_CAPTURE, $offset + 1 )

Als Beispielcode habe ich mal was von heise.de genommen, was das Wort google beinhaltet:

HTML:
<header>
            <h3>
            <a href="/newsticker/meldung/Google-I-O-Geldverdienen-mit-Apps-1865920.html" title="Google I/O: Geldverdienen mit Apps">Google I/O: Geldverdienen mit Apps</a>
        </h3></header>

Das Ziel hier wäre, wenn das Wort "google" gefunden worden ist im Linktext, das gesamte <a> Tag heraus zu ziehen.

Ich hoffe du kannst damit was anfangen - das ganze soll eine Art Alert-System für die eigene Webseite sein, wenn etwas bestimmtes auf der Seite XY im Quellcode steht. Also sowohl Links als auch normale Wörter.

Danke!
 
Ah, das sieht nach genau meinem Topic aus ;) Werde ich gerne mal probieren! Wenns noch irgendwo klemmt, ping ich dich nochmal an :)

Danke!
 
Zurück