Problem mit ereg();

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

  • Problem mit ereg();

    Tach!
    Hab folgendes Poblem: Ich hab ein Newsletter in Text und HTML-Form geschrieben. Die Abonnenten-Adressen stehen in einer Textdatei und werden Zeilenweise in ein Array geladen. Bei Leuten, die lieber nur Text wollen steht als Kennzeichnung ein Sternchen (*) hintendran. Ich hab das so gelöst:

    PHP-Code:
     $abonennten_datei "newsletter_abonennten.dat";
     
    $abonnent file($abonennten_datei);
     
    $zeilen count($abonnent);

    echo 
    "Der Newsletter wurde an folgende Personen erfolgreich versendet:<br><br>";

     
    //News versenden
      
    for ($i 0$i $zeilen$i++)
       {
       
    $current_mail $abonnent[$i];
       if(
    eregi("*",$current_mail))
        {
        
    $current_mail str_replace ("*"""$current_mail);
        
    mail($current_mail$heading$text_var$header);
        echo 
    "&nbsp;&nbsp;<img src='../bilder/admin/list.gif' width='9' height='8'><a href='mailto:$abonnent[$i]'>$abonnent[$i]</a>*<br>";
        }
       else
        {
        
    mail($current_mail$heading$text_var$header);
        echo 
    "&nbsp;&nbsp;<img src='../bilder/admin/list.gif' width='9' height='8'><a href='mailto:$abonnent[$i]'>$abonnent[$i]</a><br>";
        }
       }

    echo 
    "<br><br>*) An diese Abonnenten wurde eine Nur-Text-Nachricht versendet"
    Aus irgendeinem Grund funktioniert das mit dem eregi(); nicht ganz, es kommt immer folgende Fehlermeldung:

    Warning: ereg(): REG_BADRPT in news_letter.php on line 77

    Kann mir jemand weiterhelfen?

  • #2
    strstr() sollte doch vollkommen ausreichen ... wozu nimmt man ein *? einfach ein weiteres feld/spalte anlegen und zb: 0/1 reinschreiben.
    Kissolino.com

    Kommentar


    • #3
      Original geschrieben von Wurzel
      wozu nimmt man ein *? einfach ein weiteres feld/spalte anlegen und zb: 0/1 reinschreiben.
      Ähm ich verwende keine Datenbank, ist eine Textdatei!

      Übrigens strstr() hab ich schon ausprobiert, geht auch nicht.

      Kommentar


      • #4
        Original geschrieben von ForrestGump
        Ähm ich verwende keine Datenbank, ist eine Textdatei!
        na und?
        Übrigens strstr() hab ich schon ausprobiert, geht auch nicht.
        "geht nicht" ... hatten wir das nicht schon?
        - wie äussert sich "geht nicht"
        - was hast du wie versucht?
        Kissolino.com

        Kommentar


        • #5
          Sorry für meine ungenauen Angaben, also:

          - wie äussert sich "geht nicht"
          Das Sternchen wird nicht entfernt noch wurde ein Mail an die Adresse mit Sternchen versendet. Das sagt mir natürlich dass kein Sternchen in der Variable erkannt wurde.


          - was hast du wie versucht?
          PHP-Code:
            for ($i 0$i $zeilen$i++)
             {
             
          $current_mail $abonnent[$i];
             if(
          strstr("*",$current_mail))
              {
              
          $current_mail str_replace ("*"""$current_mail);
              
          mail($current_mail$heading$text_var$header);
              echo 
          "&nbsp;&nbsp;<img src='../bilder/admin/list.gif' width='9' height='8'><a href='mailto:$abonnent[$i]'>$abonnent[$i]</a><br>";
              }
             else
              {
              
          mail($current_mail$heading$text_var$header);
              echo 
          "&nbsp;&nbsp;<img src='../bilder/admin/list.gif' width='9' height='8'><a href='mailto:$abonnent[$i]'>$abonnent[$i]</a><br>";
              }
             } 

          Kommentar


          • #6
            1. nimm für arrays nicht for, sondern foreach

            2.

            PHP-Code:
            foreach ($abonnent as $current_mail)
            {
                if (
            substr($current_mail, -1) == '*') {
                    
            $current_mail substr($current_mail0, -1)
                    
            // Mail schicken ohne HTML
                
            } else {
                    
            // Mail mit HTML
                
            }

            die echo() s schaffst du wohl auch alleine
            Zuletzt geändert von crashmakerMX; 03.10.2004, 15:39.

            Kommentar

            Lädt...
            X