Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 21.09.2006, 20:22   Nach oben    #1
$traight-$hoota
Erfahrener Benutzer
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 491
Standard [RegEx] HTML-Links erkennen

Ich möchte aus einem HTML-Quellcode alle links herausfiltern. Als Regex hab ich folgendes:
Code:
/<a\s+href="(.+?)"(\s.*?)?>(.*?)</a>/
dieses pattern findet alle a-tags und die href-attribute. weitere attribute sind so nur nach dem href-attribute möglich. um auch links zu finden, bei denen das href-tag nicht als erstes steht, hab ich folgendes hinzugefügt:
Code:
/<a(\s.+?)?\s+href="(.+?)"(\s.*?)?>(.*?)</a>/
aber dummerweise ist dieses erste subpattern trotz ? nach dem multiplikator gierig...
beispiel
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2006, 20:38   Nach oben    #2
Artemis
Semantic Web Fanatic
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 235
Standard

Habs ein bisschen getestet, und dieser hier geht:
Code:
<a (.*?)href="([^"]*)"(.*?)>(.*?)</a>
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL



Geändert von Artemis (22.09.2006 um 20:43 Uhr).
Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.09.2006, 23:11   Nach oben    #3
$traight-$hoota
Erfahrener Benutzer
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 491
Standard

ja, schon, aber der würde z.b auch <a fakehref="xxx>xxx</a> finden, weil da vor dem href kein leerzeichen sein muss.
natürlich gibt es keine anderes attribut, dass auf href endet, aber ich versuche halt irgendwie eine lösung zu finden, die "optimal" ist. müsste es ja eigentlich geben...
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 17:03   Nach oben    #4
robo47
BIN EIN KRASSA HELD!!!111
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.188
Standard

dann mach ne leerstelle vors href ? btw erkennt man mittels dem teil hier :

Zitat:
<a (.*?)href="([^"]*)"(.*?)>(.*?)</a>
nur "valide" Links, also schauen ob es bei was internem eingesetzt wird, wo man sich eines sauberen quelcodes sicher sein kann, oder ob es sich z.b. um ne art spider handelt die auch andere seiten aufrufen soll.

mfg
robo47
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2006, 19:02   Nach oben    #5
$traight-$hoota
Erfahrener Benutzer
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 491
Standard

die leerstelle hab ich ja gemacht, aber das funktioniert nicht...

".+?" sollte den selben effekt wie "[^"]" haben.
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
links im dokument robo47 HTML, XML und CSS 19 04.05.2006 15:09
HTML in HTML einbinden mr1st HTML, XML und CSS 3 14.01.2006 16:19
include -> html -> php/html Julied64 PHP-Programmierung 2 03.09.2005 12:35
TextArea + HTML?? debian inside Desktop-Applikationen und Grafik 16 18.05.2005 11:43
HTML Code im Frame darstellen ? tuxsymptom Desktop-Applikationen und Grafik 5 03.01.2005 19:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:29 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44