Problem mit ereg();

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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>";
              }
             } 

          Comment


          • #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
            Last edited by crashmakerMX; 03-10-2004, 14:39.

            Comment

            Working...
            X