AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Regex: alle html links eines String bekommen?

Regex: alle html links eines String bekommen?

Ein Thema von Pseudemys Nelsoni · begonnen am 18. Feb 2009 · letzter Beitrag vom 19. Feb 2009
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.536 Beiträge
 
#11

Re: Regex: alle html links eines String bekommen?

  Alt 18. Feb 2009, 21:54
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:
<a href="foobar'>text</a>
obwohl es komplett zerschossenes HTML ist. Auf der anderen Seite wuerde sowas falsch gematcht werden:
Code:
[url='foobar" und mehr']text[/url]
obwohl es laut dem kaputten HTML-Parsing mancher aelterer Browser durchaus korrekt ist

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#12

Re: Regex: alle html links eines String bekommen?

  Alt 18. Feb 2009, 22:04
Zitat von Pseudemys Nelsoni:
Ich benutze C#.NET und dort ist die Hilfe sehr beschränkt was Regexes angeht.
Die ist ziemlich umfangreich, nur eben kein Tutorial .
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.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#13

Re: Regex: alle html links eines String bekommen?

  Alt 19. Feb 2009, 17:23
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 )

Aber gut, ansonsten wärs dann:
Code:
[url="(.*?[^"].*?[/url]
Edit: wär das mit Backreference so richtig?
Code:
<a.*?href=(["'])(.*?[^"]+)\1.*?>.*?</a>
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf