Re: @perl-freaks -> Emailadressen aus einem Text filtern - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von olaf s. (9 Beiträge) am Donnerstag, 16.Dezember.2004, 16:19.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      moin moin,

      an den punkt hat das nicht gelegen ;-). da für erkennt dein script weder ein punkt (wie bei "vorname.nachname") noch ein minuszeichen im namen. den die zeichenklasse \w enthält diese zeichen nicht ;-). also eine eigene zeichenklasse wie [\w.-].

      wenn man davon ausgeht, das deine regex nur wirklich mail adressen vorgesetzt bekommt, ist das * nach dem \w ok, anderen falls werden auch nicht-mailadressen umgewandelt. weil * besagt das dieses zeichen vorkommen darf aber nicht MUSS. besser wäre also ein + das besagt, das mindestens ein zeichen davon vorkommen muss.
      des weiteren würden auch angebliche mailadressen umgewandet die kein @ enthalten. verwendest du @ so wie du es getan hat, wird das @ als array interpretiert. also muss das @ mit einem \ geschützt werden.

      die fragezeichen nach dem * (oder besser +) kann man machen haben aber hier keine wirkung, weil das "erkennen" bei dem ersten nicht \w zeichen abrechenwürde und das wäre schnell bei dem @ bzw. bei einem zeichen ausserhalb der zeichenklasse der fall. dafür macht dsa ? das matching in diesem fall langsamer.

      du hast zwar an den punkt gedacht, aber nicht an diese punkte ;-).

      also deine verbesserte version:
      $text=~ s/([\w.-]+)\@([\w-]+)\.(\w+)/<script>document.write( "<a href='ma" +"ilto:"+"$1"+"@"+"$2"+"."+"$3'>"+"$1"+"@"+"$2"+"."+"$3<\/a>" )<\/script>/g;
      

      oder die version von christoph die auch ohne "an den punkt zu denken" funktioniert hätte, wenn er das + in der schnelle nicht vergessen hätte ;-):
      $text=~ s/([\w.-]+)\@([\w.-]+)/<script>document.write('<a href="'+'ma'+'ilto:'+'$1'+'\@'+'$2'+'">'+'$1'+'\@'+'$2<\/a>')<\/script>/g;
      

      ich hoffe ich hab jetzt selber keine zeichen vergesse *g*

      greetz


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (82 Beiträge) am Dienstag, 14.Dezember.2004, 19:33.
    @perl-freaks -> Emailadressen aus einem Text filtern

      Hallo Zusammen,

      ich würde gerne Emailadressen aus einem Text filtern, um diese zu verschlüsseln und anschließend in dem Text wieder auszugeben.

      Hat jemand eine Idee, wie das funktionieren könnte?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 15.Dezember.2004, 17:37.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Ca. so:

      $feld=~ s/([\w.])@(\w.)/<script>document.write('<a href="ma'+'ilto:'+'$1'+'@'+'$2">'+'$1'+'@'+'$2</a>')</script>/g;
      

      ,-)

     Antworten

    Beitrag von Oliver ;-) (82 Beiträge) am Donnerstag, 16.Dezember.2004, 10:00.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Hallo Christoph,

      leider nur ca.

      Es wird nur der erste Buchstabe vor und die ersten beiden Buchstaben nach dem "@" geholt. Außerdem wird das "@" und der Link nicht ausgegeben.

      <perl>
      get "Nr==#","textausgabe";
      $text=~ s/([\w.])@(\w.)/<script>document.write('<a href=\"'ma'+'ilto:'+'$1'+'@'+'$2'\">'+'$1'+'@'+'$2<\/a>')<\/script>/g;
      out convert_br($text);
      </perl>
      


      Also aus 'vorname.nachname@provider.de' wird ein 'epr'.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 16.Dezember.2004, 11:40.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Mach mal so:

      $text=~ s/([\w.]+)@([\w.]+)/<script>document.write('<a href="'ma'+'ilto:'+'$1'+'@'+'$2">'+'$1'+'@'+'$2<\/a>')<\/script>/g;
      

      Und nich Zeichen hinzufügen die ich nich geschrieben hab (z.b. " oder \) ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 16.Dezember.2004, 15:05.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Hallo Christoph,

      jetzt werden die Emailadressen ganz rausgeschnitten...

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 16.Dezember.2004, 11:42.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Hallo Oliver,

      Bin kein Experte, aber schau Dir mal diesen Teil nochmal an.

      <perl>
      get "Nr==#","textausgabe";
      $text=~ s/([\w.])@(\w.)/<script>document.write('<a href=\"'ma'+'ilto:'+'$1'+'@'+'$2'\">'+'$1'+'@'+'$2<\/a>')<\/script>/g;
      out convert_br($text);
      </perl>
      


      Ersetze mal die "$1" und "$2" durch andere Werte z.B. "$4" oder so.
      Habs nicht getestet, aber das wird wohl für die entsprechende Anzahl der Zeichen stehen, die übernommen werden.

      Gruß

      Claus

     Antworten

    Beitrag von Oliver ;-) (82 Beiträge) am Donnerstag, 16.Dezember.2004, 15:06.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Hallo Claus,

      das wäre nicht das Ziel. Es soll ja jede Emailadresse unabhängig von ihrer Länge verarbeitet werden.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Mattias (110 Beiträge) am Donnerstag, 16.Dezember.2004, 15:36.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Leute, ihr dürft den Punkt nicht vergessen!

      @Oliver: Probier mal das:
      

      $text=~ s/(\w*?)@(\w*?)\.(\w*)/<script>document.write( "<a href='ma" +"ilto:"+"$1"+"@"+"$2"+"."+"$3'>"+"$1"+"@"+"$2"+"."+"$3<\/a>" )<\/script>/g;

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Donnerstag, 16.Dezember.2004, 16:07.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

     Antworten

    Beitrag von Mattias (110 Beiträge) am Donnerstag, 16.Dezember.2004, 16:36.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Geht auch einfacher. Ich bin nämlich genau in die selbe Falle getappt, nur vor dem "@".

      $text=~ s/(\S*?)@(\S*)/<script>document.write( "<a href='ma" +"ilto:"+"$1"+"@"+"$2'>"+"$1"+"@"+"$2<\/a>" )<\/script>/g;
      

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 16.Dezember.2004, 16:55.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      klappt auch nich ;-) obwohls so natürlich gehen würde - allerdings würden dann !"&%)§"$/) etc. auch als teil einer email-adr. angesehen werden (will man das? "schreiben sie an:bla@blubb.de!")

      weil das @ maskiert werden muss...

      hier die amtliche getestete version: ;-)

      http://test.netpure.de/?id=11091

      $text=~ s/([\w-.]+)\@([\w-.]+)/<script>document.write('<a href="ma'+'ilto:'+'$1'+'\@'+'$2">'+'$1'+'\@'+'$2<\/a>')<\/script>/g;
      

      ;-)

     Antworten

    Beitrag von Oliver ;-) (82 Beiträge) am Donnerstag, 16.Dezember.2004, 21:36.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Super !!! Jetzt klappt es... Danke

      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 16.Dezember.2004, 21:59.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      soll ich nochmal die rfc für email rauskramen? es sind so ziemlich alle zeichen in ner email möglich...

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 17.Dezember.2004, 10:48.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Jaja, ich weiss ;-) Aber will man das wirklich? !"§$&/(=*@bla.de <- ??

      $text=~ s/([\S]+)\@([\w-.]+)/<script>document.write('<a href="ma'+'ilto:'+'$1'+'\@'+'$2">'+'$1'+'\@'+'$2<\/a>')<\/script>/g;
      

      Dann halt doch die noch kürzere Version von Mattias (aber nur vorm @ ;-) )

     Antworten

    Beitrag von Oliver ;-) (82 Beiträge) am Freitag, 17.Dezember.2004, 11:03.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      moin, moin,

      kann man das anstelle des Javascripts auch mit der Verschleierung von Marco Trumtrar aus der bib kombinieren?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von olaf s. (9 Beiträge) am Donnerstag, 16.Dezember.2004, 16:19.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      moin moin,

      an den punkt hat das nicht gelegen ;-). da für erkennt dein script weder ein punkt (wie bei "vorname.nachname") noch ein minuszeichen im namen. den die zeichenklasse \w enthält diese zeichen nicht ;-). also eine eigene zeichenklasse wie [\w.-].

      wenn man davon ausgeht, das deine regex nur wirklich mail adressen vorgesetzt bekommt, ist das * nach dem \w ok, anderen falls werden auch nicht-mailadressen umgewandelt. weil * besagt das dieses zeichen vorkommen darf aber nicht MUSS. besser wäre also ein + das besagt, das mindestens ein zeichen davon vorkommen muss.
      des weiteren würden auch angebliche mailadressen umgewandet die kein @ enthalten. verwendest du @ so wie du es getan hat, wird das @ als array interpretiert. also muss das @ mit einem \ geschützt werden.

      die fragezeichen nach dem * (oder besser +) kann man machen haben aber hier keine wirkung, weil das "erkennen" bei dem ersten nicht \w zeichen abrechenwürde und das wäre schnell bei dem @ bzw. bei einem zeichen ausserhalb der zeichenklasse der fall. dafür macht dsa ? das matching in diesem fall langsamer.

      du hast zwar an den punkt gedacht, aber nicht an diese punkte ;-).

      also deine verbesserte version:
      $text=~ s/([\w.-]+)\@([\w-]+)\.(\w+)/<script>document.write( "<a href='ma" +"ilto:"+"$1"+"@"+"$2"+"."+"$3'>"+"$1"+"@"+"$2"+"."+"$3<\/a>" )<\/script>/g;
      

      oder die version von christoph die auch ohne "an den punkt zu denken" funktioniert hätte, wenn er das + in der schnelle nicht vergessen hätte ;-):
      $text=~ s/([\w.-]+)\@([\w.-]+)/<script>document.write('<a href="'+'ma'+'ilto:'+'$1'+'\@'+'$2'+'">'+'$1'+'\@'+'$2<\/a>')<\/script>/g;
      

      ich hoffe ich hab jetzt selber keine zeichen vergesse *g*

      greetz

     Antworten

    Beitrag von Mattias (110 Beiträge) am Donnerstag, 16.Dezember.2004, 16:48.
    Re: @perl-freaks -> Emailadressen aus einem Text filtern

      Okay, dann specken wir es aber gleich richtig ab:

      $text=~ s/(\S+)@(\S+)/<script>document.write( "<a href='ma" +"ilto:"+"$1"+"@"+"$2'>"+"$1"+"@"+"$2<\/a>" )<\/script>/g;
      

      Das funzt übrigens auch ohne "\" vor dem "@".

     Antworten


     
 Liste der Einträge von 26400 bis 26550:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.08s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!