E-mail Adressen aus txt-Datei auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Such dir da doch eine Regexp

    http://regexlib.com/

    Kommentar


    • #17
      Warum hast du Wahsagas Edit gelöscht anstatt ihn zu befolgen? Was soll das?

      Na mal ehrlich, was wundert dich an dem Ergebnis? Du suchst ein @ also bekommst du eines.

      Kommentar


      • #18
        Junge, ich weiß eben nciht, wie ich das so regle, dass er das wort mit dem @ ausgibt... wenn ich alles wüsste, würd eich hie rnciht posten.


        Ich habe noch nie etwas mit Regex gemacht, also kommt das nciht in frage, wenn ihr mir nciht erklärt wie ich das machen muss.


        Ist das sos chwierig?? Ich sitze da jetzt den ganzen Tag dran und ihr Experten brächutet dafür 1 Minute, schreibt das doch einfach ganz kurz und knapp hier hin. Wäre echt nett.

        Zuletzt geändert von sinusweb; 24.10.2006, 17:04.

        Kommentar


        • #19
          Klar, aber der Experte musste es sich auch vorher aneignen und verdient jetzt mit jeder Minute Geld.

          http://www.php-resource.de/tutorials/read/10/1/ Vielleicht hilf das ja wenigstens n bisschen.

          ansonsten verfolge doch den Ansatz, den Wahsaga ins Spiel gebracht hat. strstr() kennst du ja nun.

          Kommentar


          • #20
            Okay,


            habe ich mich mit befasst.
            PHP-Code:
            <?

            // Nur @      
            $muster = "/@/i";

            // Liste der gefundenen Einträge
            $bla = preg_grep($muster, file('adressen.txt'));

            // Ausgabe
            foreach ($bla as $out) {
            $email=$out

            $domain = strstr($email, '@');
            echo $domain; // Ausgabe: @example.de

            }

            ?>

            soweit so gut...nun wird mir aus jeder zeile die email adresse ab dem @ zeichen angezeigt, aber nciht der name vor dem @ zeichen

            @example.de... möchte, dass er blabla@example.de für jede zeile ausgibt, wie macht man das????Danke im voraus...

            Kommentar


            • #21
              nun ja, strstr macht nunmal genau das, was du beschreibst. Es ist einfach nicht dafür da, ne beliebige anzahl zeichen vor und nach einer zeichenfolge rauszusuchen.

              Was ist mit der array_pop() -idee? Die ist für einen Anfänger wahrscheinlich besser geeignet.

              Kommentar


              • #22
                da ist doch das Problem, dass ich in einigen Zeilen keine email Adresse angegeben habe und somit dann die Straße ausgegeben werden würde...



                Habt ihr denn keine Ahnung???
                Zuletzt geändert von sinusweb; 24.10.2006, 18:09.

                Kommentar


                • #23
                  Original geschrieben von jmc
                  Such dir da doch eine Regexp

                  http://regexlib.com/
                  warum machst du das nicht einfach? Ich kann dir aber ja auch mal was angeben:

                  $tld = "(biz|com|info|int|name|net|org|pro|arpa|aero|cat|coop|edu|gov|jobs|mil|mobi|museum|tel|travel|ac|ad |ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw| by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|e u|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie |il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv| ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|n u|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl |sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz| va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)";

                  preg_match(/[\ ]([a-z0-9_][\.\-]?)+@([a-z0-9][\.\-]?)*[a-z0-9]\.".$tld."/i",$string)
                  Zuletzt geändert von jmc; 24.10.2006, 18:32.

                  Kommentar


                  • #24
                    Original geschrieben von sinusweb
                    Habt ihr denn keine Ahnung???
                    Reiss mal die Klappe nicht so weit auf - du bist hier der jenige, der keinerlei vernünftigen eigenen Ansatz vorzuweisen hat, und sich dann auch noch äußerst ungeschickt anstellt, wenn es darum geht Denkanstösse zu komplettieren.
                    da ist doch das Problem, dass ich in einigen Zeilen keine email Adresse angegeben habe und somit dann die Straße ausgegeben werden würde...
                    Dann schaust du dir halt jedes mal das letzte Element aus der Zeile an und prüfst, ob ein @ drin vorkommt.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #25
                      da ist doch das Problem, dass ich in einigen Zeilen keine email Adresse angegeben habe und somit dann die Straße ausgegeben werden würde...
                      Ja, und genau dafür habe ich die eine von mehreren möglichkeiten genannt um dies zu überprüfen. Lies am besten noch mal komplett was wir bis jetzt gesagt haben...

                      Habt ihr denn keine Ahnung???
                      Mach dich nicht lächerlich. Mit solchen Provokationen erreichst du nur das Gegenteil. Der einzige der hier keine Ahnung hat und nicht in der Lage ist, hinweise zu befolgen, bist DU, kleiner Mann!

                      Kommentar


                      • #26
                        Beruhigt euch... nicht jedes Wort auf die Goldwaage legen.

                        Ich bin nunmal beginner und kenn noch nciht alles. Sorry.

                        Kommentar


                        • #27
                          PHP-Code:
                          <?


                          $muster = "/@/i";

                          // Liste der gefundenen Einträge
                          $mails = preg_grep($muster, file('adressen.txt'));

                          // Ausgabe
                          foreach ($mails as $ad) {



                          echo "$ad<br>";

                          }


                          ?>
                          Ich bin dank eurer Hilfe schon recht weit, aber eine Sache fehlt noch...

                          Die Zeilen mit den Email Adressen werden erfasst! OK
                          in der foreach anweisung mache ich ja vorgaben für jede Zeile, da woltl eich jetzt noch die Anweisung reinbringen, dass er das letzte Wort ausgibt (email adresse ist immer das letzte Wort) >

                          array_pop(); aber ich muss die zeile ja erst in ein array umwandeln,w ie geht das?


                          PHP-Code:
                          foreach ($mails as $ad) {


                          array_pop($ad)=$ad2;   
                          echo 
                          "$ad2<br>";


                          da taucht dann allerdings dieser Fehler auf

                          Fatal error: Can't use function return value in write context in /srv/www/httpd/phost/k/com/pytalhost/klasse/web/test/adresse/mail.php on line 13


                          Ich verstehe nciht, was ich verbändern soll. Könnt ihr mir da weiterhelfen?

                          Kommentar


                          • #28
                            Junge, lies doch mal den Thread anstatt hier rumzustückeln.

                            vom Kropf:
                            $bumm= explode (' ',$zeile);

                            Kommentar


                            • #29
                              Okay. Habe mir alles nochmal durchgelesen.

                              folgender script ist entstanden und funktioniert NICHT.
                              PHP-Code:
                              <?
                              $muster = "/@/i";

                              // Liste der gefundenen Einträge
                              $mails = preg_grep($muster, file('adressen.txt'));

                              // Ausgabe
                              foreach ($mails as $ad) {

                              $ad2= explode (' ',$ad);
                              array_pop($ad2)=$ad5;   
                              echo "$ad5<br>";
                              }
                              ?>
                              Fatal error: Can't use function return value in write context in ...
                              on line 13

                              sprich: da muss der fehler sein

                              PHP-Code:
                              array_pop($ad2)=$ad5

                              Kommentar


                              • #30
                                Ja natürlich. Du kannst doch nicht einer Funktion einen wert zuweisen.

                                versuchs mal andersrum und verstehe warum.

                                Kommentar

                                Lädt...
                                X