ereg_replace

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

  • ereg_replace

    folgender Fehler in der Zeile:echo ereg_replace ( "[s2]", "<img src=\"img/smilies/biggrin.gif\">" , "$row['UserEintrag']");"<hr>";

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ...gb.php on line 33

    PHP-Code:
    $query "SELECT * FROM guestbook ORDER BY Date DESC LIMIT $limit";
    $gb mysql_query($query);
    while (
    $row mysql_fetch_array($gb))
        {
        
    $Date $row['Date'];
        
    $Datum date("d.m.Y H:i",$Date);
        echo 
    "#"$row['id'] ." am $Datum | von "$row['UserName'] ."<hr>";
        echo 
    ereg_replace "[s2]""<img src=\"img/smilies/biggrin.gif\">" "$row['UserEintrag']");"<hr>";
        } 
    Warum funktioniert das nicht? kann ich nicht die ausgabe des array mit ereg replace ändern?

  • #2
    Also der Code sieht schon etwas merkwürdig aus

    "$row['UserEintrag']" scheint schonmal ein fehler zu sein, das sollte: $row['UserEintrag'] sein.

    Und dann kannst du danach nicht einen String zum Ausgeben anweseisen ohne ein erneutes echo...

    PHP-Code:
    echo ereg_replace"[s2]""<img src=\"img/smilies/biggrin.gif\">" $row['UserEintrag']);
    echo 
    "<hr>"

    Kommentar


    • #3
      Habe das jetzt so geändert:
      PHP-Code:
      $query "SELECT * FROM guestbook ORDER BY Date DESC LIMIT $limit";
      $gb mysql_query($query);
      while (
      $row mysql_fetch_array($gb))
          {
          
      $Date $row['Date'];
          
      $Datum date("d.m.Y H:i",$Date);
          echo 
      "#"$row['id'] ." am $Datum | von "$row['UserName'] ."<hr>";
          echo 
      ereg_replace "[s2]""<img src=\"img/smilies/biggrin.gif\">" $row['UserEintrag']);
          echo 
      "<hr>";
          } 
      nur ersetzt er [2] nicht.

      Kommentar


      • #4
        Also ich habs mal getestet:
        PHP-Code:
        $test    "Hallo [s2] blablabla.";  
        echo 
        ereg_replace "\\[s2\\]""<img src=\"img/smilies/biggrin.gif\">" $test); 
        Funktioniert bestens, allerdings ist normalerweise ein Delimiter nicht notwendig, versuche es trotzdem mal...

        Kommentar


        • #5
          PHP-Code:
          $query "SELECT * FROM guestbook ORDER BY Date DESC LIMIT $limit";
          $gb mysql_query($query);
          while (
          $row mysql_fetch_array($gb))
              {
              
          $Date $row['Date'];
              
          $Datum date("d.m.Y H:i",$Date);
              echo 
          "#"$row['id'] ." am $Datum | von "$row['UserName'] ."<hr>";
              
          $UserEntry $row['UserEintrag'];
              echo 
          ereg_replace ("[s2]""<img src=\"img/smilies/biggrin.gif\">" $UserEntry);
              echo 
          "<hr>";
              } 
          Habe jetzt dies mal so probiert, aber dies funktioniert auch nicht :-/

          Kommentar


          • #6
            Dann solltest du mal überprüfen, ob wirklich ein [s2] vorhanden ist im String. Evt. mal mit preg_replace testen.

            Da es theoretisch gehen müsste, habe ich mom auch keine weitere Idee.

            EDIT: Hast du vorher stripslashes() angwendet? Evt steht in deinem String ja ein "\[s2\]"

            Kommentar


            • #7
              PHP-Code:
              $test "Hallo [s2] blablabla.";
              echo 
              ereg_replace "\[s2\]""<img src=\"img/smilies/biggrin.gif\">" $test); 
              das Beispiel von dir funktioniert, aber preg_replace bringt mich auch nicht weiter :-(

              EDIT:

              EDIT: Hast du vorher stripslashes() angwendet? Evt steht in deinem String ja ein "\[s2\]"

              nein habe ich nicht, der String wird ja aus der Datenbank gelesen

              Kommentar


              • #8
                schau mal
                http://sorry.so.funpic.de/page/gb.php

                weisst du woran das problem liegen könnte, das er nur das s ändert?
                Zuletzt geändert von Alex182; 30.05.2006, 21:48.

                Kommentar


                • #9
                  Original geschrieben von Alex182
                  echo ereg_replace ( "[s2]", "<img src=\"img/smilies/biggrin.gif\">" , $row['UserEintrag']);
                  echo "<hr>";
                  }
                  [/PHP]
                  nur ersetzt er [2] nicht.
                  meinst Du vielleicht "\[s2\]" weisst Du wozu [] in einer ereg sind. Bzw. was willst Du in ein <img> abändern.

                  Ach ja, und preg sind besser, weil sie besser im phpmanual beschrieben sind.

                  UNd nachsatz, verwende str_replace("[s2]", "<img src=\"img/smilies/biggrin.gif\">" ,
                  das ist für deine Frage gut, ausser deine Frage ist grundsätzlich/vereinfacht.
                  Zuletzt geändert von phoenix20; 30.05.2006, 21:57.

                  Kommentar


                  • #10
                    musst ich jetzt für jede möglich keit von [s1] oder [s2] oder [s3] ne neue bedingung machen?

                    Kommentar


                    • #11
                      Original geschrieben von Alex182
                      musst ich jetzt für jede möglich keit von [s1] oder [s2] oder [s3] ne neue bedingung machen?
                      str_replace kann arrays.

                      Kommentar

                      Lädt...
                      X