Re: Regex: alle html links eines String bekommen?
Moin Meflin,
lass die doppelte Abfrage fuer ' und " im href-Attribut weg. Erstens muesstest du um korrekt zu parsen dann eine entsprechende back-reference nutzen und zweitens ist laut den letzten HTML-Standards eh nur " ein Begrenzer fuer Attributwerte :) Sowas wuerde deine letzte RegExp auch matchen:
Code:
obwohl es komplett zerschossenes HTML ist. Auf der anderen Seite wuerde sowas falsch gematcht werden:
<a href="foobar'>text</a>
Code:
obwohl es laut dem kaputten HTML-Parsing mancher aelterer Browser durchaus korrekt ist ;)
[url='foobar" und mehr']text[/url]
Greetz alcaeus |
Re: Regex: alle html links eines String bekommen?
Zitat:
Ein schönes deutsches Tut gibt es hier: http://www.regenechsen.de/phpwcms/index.php?regex_allg PS: Wenn du sowieso nur den Link brauchst, würde ich danach gar nicht mehr weitermatchen. Eine perfekte Lösung ist mit Regexen sowieso nicht erreichbar. |
Re: Regex: alle html links eines String bekommen?
Moin alci,
du magst prinzipiell Recht haben, aber die Frage ist: Auf was trifft man in der "freien Wildbahn" öfter? Ich glaube die falschen '' gibts relativ häufig. Aber dein zweiter Fall, der zum Mismatch führt, sowas macht ja keiner absichtlich ;) (mit der Backreference haste natürlich Recht, is mir aber grad zu kompliziert :gruebel: ) Aber gut, ansonsten wärs dann:
Code:
Edit: wär das mit Backreference so richtig?
[url="(.*?[^"].*?[/url]
Code:
<a.*?href=(["'])(.*?[^"]+)\1.*?>.*?</a>
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz