Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 07.06.2007, 10:42 Nach oben    #1
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard Alle Hyperlinks aus einem Text herausfiltern

Dieser Beitrag schloss sich an dieses Forenthema an, ist aber in einem eigenen Thema besser aufgehoben.

-----



An dieser Stelle mal die Frage - wie sähe denn der regex aus, der verwendet werden müßte um aus einem Zeichensalat nur die http://.... rauszufiltern?

Ich habe mich mal am regex-tester versucht... aber ohne den gewünschten Erfolg.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Ben (07.06.2007 um 11:26 Uhr). Grund: Beitrag verschoben, Anmerkung hinzugefügt.
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 11:27 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 3.812
Standard

Vielleicht hilft es?
http://php-faq.de/q/q-regexp-links-finden.html

Ist zwar am Beispiel PHP, aber es geht ja hier nur um den regulären Ausdruck an sich!
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 16:32 Nach oben    #3
dago
Daniel Golowin
 
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
Standard

Wie währe es mit:
Code:
/http:\/\/[a-zA-Z0-9.,_\/-]*/
Gibt es weitere Rahmenbedingungen? Soll es nur innerhalb von A-Tags gefunden werden. Muss die URL-Gültig sein. Dürfen äöü vorkommen. Soll das Komma am Ende der URL mit kommen oder ignoriert werden.

Also je nach dem was der Einsatzzweck ist, lässt sich da was basteln.
dago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 16:56 Nach oben    #4
Chr!s
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 560
Standard

Hier mal noch ein Vorschlag:
Code:
#(^|[^\"=]{1})(http://|ftp://|mailto:|news:|www.)([^\s<>]+)([\s\n<>]|$)#sm
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 17:40 Nach oben    #5
dago
Daniel Golowin
 
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
Standard

Hab jetzt noch etwas rum gebastelt.
Code:
/(?<![\wäöüÄÖÜ])http:\/\/[\wäöüÄÖÜ.:,&=%\/_-]*(?=,)/i
Lässt sich natürlich vereinfachen, wenn die URL innerhalb von HTML-Tags oder BB-Code steht. Findet URLs mitten im Text, äöü dürfen innerhalb von URL vorkommen. Das Komma am Ende der URL wird nicht mitgenommen.

Ein Problem stellen dabei URLs dar, die ein Leerzeichen enthalten, also
Text http://domain.tld/wort wort/seite.htm weiterer Text

Hier wird die URL nur als http://domain.tld/wort erkannt. Denke ist aber klar, dass man das nicht besser machen kann.
dago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 19:44 Nach oben    #6
CIX88
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 570
Standard

Zitat:
Zeichensalat
Hmm, also bevor ich mit Regex um mich schlage, wäre es intressant zu wissen was als „Zeichensalat” bezeichnet wird
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 21:56 Nach oben    #7
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

also
http://www.regex-tester.de/regex5_20070607214639.html
das ist Chr!s Beispiel, welches ich allerdings nicht zum laufen bekommen habe.

dago - dein Beispiel sieht bei mir so aus:
http://www.regex-tester.de/regex5_20070607214804.html
das ist sozusagen mein erstes lauffähiges etwas...

@Ben: http://www.regex-tester.de/regex5_20070607214928.html
habe ich auch nicht wirklich zum laufen bekommen....

@CIX88 - was den Zeichensalat angeht - ich habe halt ein wenig versucht, aber gänzlich ohne Erfolg - da kamem zwar als Ergbniss auch die links bei raus, aber letztlich nicht nur die...
Da hätte dann danach noch mit PHP 'Hand angelegt' werden müßen - und das ist ja nicht Ziel der Aktion...


schöner aber fänd ich es, wenn das http://www.regex-tester.de/regex5_20070607215259.html auch den link 'index.html' finden würde - es sich also an diesem Muster hier orientiert:
(*)<a (*) href="(***)" (*)>(*)
wobei nur das (***) interessiert
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (07.06.2007 um 21:59 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 22:49 Nach oben    #8
Bleistift
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 282
Standard

Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
also
http://www.regex-tester.de/regex5_20070607214639.html
das ist Chr!s Beispiel, welches ich allerdings nicht zum laufen bekommen habe.
Ändere links im Menü mal den Delimiter. Mit der Raute geht es ohne Probleme
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.06.2007, 23:01 Nach oben    #9
dago
Daniel Golowin
 
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
Standard

Wie währe es mit: http://www.regex-tester.de/regex5_20070607225421.html

Ach, so währe es richtiger: http://www.regex-tester.de/regex5_20070607231008.html

Geändert von dago (07.06.2007 um 23:16 Uhr).
dago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.06.2007, 07:54 Nach oben    #10
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Zitat:
Zitat von Bleistift Beitrag anzeigen
Ändere links im Menü mal den Delimiter. Mit der Raute geht es ohne Probleme
abgesehen davon, dass er dann auch noch einiges mehr ausspuckt:
Code:
Array
(
    [0] => /www.google.de">
    [1] => /
    [2] => www.
    [3] => google.de"
    [4] => >
)
bzw. mit preg_match_all:
Code:
Array
(
    [0] => Array
        (
            [0] => /www.google.de">
            [1] => /www.netzzeitung.de">
        )

    [1] => Array
        (
            [0] => /
            [1] => /
        )

    [2] => Array
        (
            [0] => www.
            [1] => www.
        )

    [3] => Array
        (
            [0] => google.de"
            [1] => netzzeitung.de"
        )

    [4] => Array
        (
            [0] => >
            [1] => >
        )

)




Zitat:
Zitat von dago Beitrag anzeigen
schön - aber... wie käme ich da selbst drauf?
Kann mir diese Regel jmd. erklären?
Ich denke, dass ich nur dann die Chance habe auch zu checken, was da passiert und das beim nächsten mal dann selbst machen kann...
Code:
<a.*?href="(.*?)".*?>
ok, es wird nach dem Muster
Code:
<a(beliebig viele Zeichen)href="(Suchmuster)"(beliebig viele Zeichen)>
gesucht, aber warum bekomme ich nur den Teil, der mich auch interessiert und nicht die Platzhalter vor und nach dem eigentlichen?

// edit: die Klammer signalisiert, was ich ausgewählt haben will?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 08.06.2007, 16:08 Nach oben    #11
Artemis
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 222
Standard

Du bekommst nur den Teil, weil nur darum Klammern gesetzt sind.

Außerdem sind die * nicht gierig, da ein ? danach verwendet wird.

Ganz korrekt ist aber dieser hier:
Code:
<a.*?\shref="(.*?)".*?>
Der davor findet auch
Code:
<a hahref="zeug">
, was ja nicht korrekt ist.
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

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


Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.06.2007, 14:04 Nach oben    #12
$traight-$hoota
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 488
Standard

Zitat:
Zitat von Artemis Beitrag anzeigen
Ganz korrekt ist aber dieser hier:
Code:
<a.*?\shref="(.*?)".*?>
aber der findet ja z.B. auch <a><e href="lol">
also besser so:
Code:
<a[^>]*?\shref="(.*?)".*?>
__________________
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 11.06.2007, 15:09 Nach oben    #13
CIX88
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 570
Standard

Zitat:
<a><e href="lol">
Schonmal so ein Blödsinn gesehen ?
Ich nicht.
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.06.2007, 16:24 Nach oben    #14
dago
Daniel Golowin
 
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
Standard

Da wir gerade so schön auf der Suche nach dem perfekten RegExp sind...
Code:
/<a\b[^<>]*?\bhref=(?:"|')(.*?)(?:"|')[^<>]*?>/isu
Will mich jemand toppen?
dago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.06.2007, 16:34 Nach oben    #15
$traight-$hoota
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 488
Standard

Zitat:
Zitat von CIX88 Beitrag anzeigen
Zitat:
<a><e href="lol">
Schonmal so ein Blödsinn gesehen ?
Ich nicht.
ist aber möglich, dass jemand sowas schreibt. ein realistisches beispiel für xhtml wäre z.B. folgender Ausschnitt (oder etwas ähnlich)
Code:
<a id="foo"><myns:myelem href="bar">
@dago das kann man sich wirklich sparen, weil einfache Anführungszeichen oder inneinander verschachtelte Tags kein valides html sind^^
__________________
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 11.06.2007, 16:37 Nach oben    #16
WarrenFaith
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.498
Standard

Ich würde einfach nur auf href="..." suchen.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.06.2007, 18:54 Nach oben    #17
robo47
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.048
Standard

hab hier noch was gefunden:
http://www.mikezilla.com/exp0033.html

da ist ein fertiges JS-Script, das hrefs sucht und die urls anzeigt
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

« [C] Malloc und Realloc | Mod-Rewrite Parameter umleiten »

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

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 anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB 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
JEditorPane -> Text formatieren Binary Allgemeine Java-Programmierung 4 15.12.2006 19:18
Probleme mit RSS heohni PHP-Programmierung 21 13.10.2006 12:10
Text hinter einem Bild mittig positionieren florian HTML, XML und CSS 3 13.09.2006 21:28
Bild im Text mit css? code5 HTML, XML und CSS 11 20.12.2005 14:15
dateisystem, Text an erste Position anhängen Niedi PHP-Programmierung 15 28.10.2005 20:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:05 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.6.7, 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