WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Internet (http://www.wcm.at/forum/forumdisplay.php?f=8)
-   -   Links mit sehr ausgefallener Zeichenfolge? (http://www.wcm.at/forum/showthread.php?t=64454)

käptn 27.07.2002 14:56

Links mit sehr ausgefallener Zeichenfolge?
 
Hallo,

kennt jemand Links mit sehr ausgefallenen Zeichenfolgen?

sowas in der art: http://ioww.com/test.php?mjbvo=33&hjd=%676,fjj;&der~+2

oder sowas?

TIA

wibsi 27.07.2002 22:36

hi, erkenn den sinn nicht..

http://216.239.37.100/search?q=cache...ng_de&ie=UTF-8

_m3 28.07.2002 12:19

http://search.microsoft.com/default....&siteid=us/dev

Empfohlene Lektüre:
http://www.w3.org/Addressing/rfc1738.txt
ftp://ftp.isi.edu/in-notes/rfc2396.txt

käptn 28.07.2002 14:35

Zitat:

Original geschrieben von wibsi
hi, erkenn den sinn nicht..

:)
der sinn ist ganz banal: meine link-regexp testen...
thx, werd ich mal durchsuchen, aber ich glaub Kommas sind nicht erlaubt nach RFC, und geh mal auf aon...:(

mein problem ist konkret, dass ich keine regexp hinbekomme, die kommas in den links akzeptiert, aber kommas am schluss des links nicht miteinschliesst, das ganze unter php, aber conditions zeigen einfach keine wirkung...

aber das ganze gehört jetzt wohl schon eher ins programmier-forum...

_m3 28.07.2002 15:25

Willst Du URIs in Text finden oder URIs parsen?

käptn 28.07.2002 19:08

ja, in text

zur zeit sieht meine regexp. so aus:

°\b(http://|(www.))([\w-.]+)\/?([/\w.#?&=@%+~,;*-]*)°i

jetzt hab ich versucht mit conditions a la (?(?=,)(?=,))
den letzten beistrich rauszufiltern, falls denn der link mit beistrich enden sollte...

aber irgendwie zeigen conditions keine auswirkung...

:heul:

wenn der link mit beistrich endet ist es mit (?=,) ja kein prob, aber dann matchen links ohne beistrich am ende nicht....deswegen die condition - idee...

_m3 29.07.2002 10:15

Tom Christiansen hat da ein schönes Beispiel in Perl, dass Du sicher auch in PHP verwenden kannst:
Code:

#!/usr/bin/perl
 # urlify -- tchrist@perl.com
  require 5.002;  # well, or 5.000 if you see below
 
  $urls = '(' . join ('|', qw{
                http
                telnet
                gopher
                file
                wais
                ftp
            } )
        . ')';
 
  $ltrs = '\w';
  $gunk = '/#~:.?+=&%@!\-';
  $punc = '.:?\-';
  $any  = "${ltrs}${gunk}${punc}";
 
  while (<>) {
      ## use this if early-ish perl5 (pre 5.002)
      ##  s{\b(${urls}:[$any]+?)(?=[$punc]*[^$any]|\Z)}{&lt;A HREF="$1"&gt;$1&lt;/a&gt;}goi;
      ## otherwise use this -- it just has 5.002ish comments
      s{
        \b                          # start at word boundary
        (                          # begin $1  {
          $urls    :              # need resource and a colon
          [$any] +?                # followed by on or more
                                    #  of any valid character, but
                                    #  be conservative and take only
                                    #  what you need to....
        )                          # end  $1  }
        (?=                        # look-ahead non-consumptive assertion
                [$punc]*            # either 0 or more puntuation
                [^$any]            #  followed by a non-url char
            |                      # or else
                $                  #  then end of the string
        )
      }{$1}igox;
      print;
  }

http://www.perl.com/doc/FMTEYEWTK/regexps.html

käptn 29.07.2002 10:25

hmm... der hat ja gar keinen beistrich in seiner regexp...:(

_m3 29.07.2002 10:35

Machts Du $gunk so:
$gunk = '/#~:.,;?+=&%@!\-';
und es klappt auch mit Deiner URL.
:D

käptn 29.07.2002 11:19

danke m3, du hast mich schon sehr viel weiter gebracht!

aber ein problem ist über:

endet der string mit dem link nach dem letzten komma komplett, schliesst er den beistrich trotzdem ein:confused:

Code:

°\b(http://|(www.))([\w\-.]+)(\/?[/\w.#?&=%+@~*\-,;:]+?)(?=[,.;:?]*[^/\w.#?&=%+@~*\-,;:]|$)°i
sollte das nicht das dollar-zeichen reglen?

käptn 29.07.2002 12:50

puh, endlich geschafft!

ergebnis:

°\b(http://|(www.))([\w\-.]+)(\/?[/\w.#?&=%+@~*\-,;:]*?)(?=[,.;:?]*([^/\w.#?&=%+@~*\-,;:]|$))°i

vielen dank für deine hilfe, m3!

_m3 29.07.2002 13:15

Gerne doch und Respekt - die regex is nicht ohne. :cool:

käptn 29.07.2002 16:20

danke, hör ich gerne :D

aber ohne hilfe hätt ich mich wahrscheinlich an den conditions erhängt...

THXagain

dreamer 30.07.2002 15:55

interessant zu lesen, aber was ist regexp :confused:

käptn 30.07.2002 16:10

regex = regexp = regular expression = regulärer Ausdruck = Suchmuster

:D


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag