preg_replace Problem.

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

  • preg_replace Problem.

    Ich führe eine Datenbank Abfrage durch, und vor der Abfrage sind paar ubbs definiert:
    PHP-Code:
    <?php
    $daten
    [NACHRICHT] = preg_replace("/\[img]/",<img src=\",$daten[NACHRICHT]);
    $daten[NACHRICHT] = preg_replace("/\[/img]/"," align=\"absmiddle\">,$daten[NACHRICHT]);
    $daten[NACHRICHT] = preg_replace("/\[email]/",<a href=\"mailto:,$daten[NACHRICHT]);
    $daten[NACHRICHT] = preg_replace("/\[/email]/",\">email</a>, $daten[NACHRICHT]);
    $daten[NACHRICHT] = preg_replace("/\[url]/",\<a href=\", $daten[NACHRICHT]);
    $daten[NACHRICHT] = preg_replace("/\[/url]/",\" target=\"_blank\">, $daten[NACHRICHT]);
    ?>
    Meiner meinung nach sollen die Sachen dann auch erstz werden, die auf dem DB -Feld NACHRICHT sind.
    Ich kriege aber nur Parse Errors rein. kann mir jemand bitte sagen, was ich da falsch gemacht habe???
    Zuletzt geändert von archie; 26.10.2002, 00:33.

  • #2
    Re: preg_replace Problem.

    oder soll ich das noch vor der Einspeisung in die Datenbank machen?????

    Kommentar


    • #3
      Du machst das nur bei der Ausgabe des Textes.

      Aber mach das mal lieber als Function und rufe dann zur Ausgabe diese so auf:
      PHP-Code:
      echo ubb($daten[NACHRICHT]); 
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        Parse Erro ists logisch,
        da fehlen jede Menge "
        das sieht man schon am falschen
        Highlighting hier im Board
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          PHP-Code:
          preg_replace("/[img]/","<img src=\"",$daten[NACHRICHT]); 
          Sowas in der Richtung!

          Kommentar


          • #6
            alle Versuche brachten mir nichts.
            In der ausgabe steht dann auch z.B.
            [img]
            So wie es gespeichert wird.

            Und es wird leider nichts ersetzt. was mach ich da flasch???
            Code ist doch richtig oder???
            PHP-Code:
            $daten[NACHRICHT] = preg_replace("/\[img]/",\"<img src=\",$daten[NACHRICHT]);

            $daten[NACHRICHT] = preg_replace("/\[/img]/",\" align=\"absmiddle\">,$daten[NACHRICHT]); 
            Zuletzt geändert von archie; 26.10.2002, 11:10.

            Kommentar


            • #7
              NEE, der Code ist natürlich falsch, wenn du [img] ersetzen willst. dein Code ersetzt /[img]/ oder sowas.

              preg_replace("[img]","<img src=\"",$daten[NACHRICHT]);

              Kommentar


              • #8
                <?php
                $daten[NACHRICHT]=preg_replace("[img]","<img src=\"",$daten[NACHRICHT]);
                $daten[NACHRICHT]=preg_replace("[/img]"," align=\"absmiddle\">,$daten[NACHRICHT]);
                ?>
                oder
                <?php
                preg_replace("[img]","<img src=\"",$daten[NACHRICHT]);
                preg_replace("[/img]"," align=\"absmiddle\">,$daten[NACHRICHT]);
                ?>

                Parse error: parse error in /home/www/htdocs/news/news_ubb.php on line 4
                Zuletzt geändert von archie; 26.10.2002, 11:23.

                Kommentar


                • #9
                  Dann guck dir mal Zeile 3 an! Hast ein " Vergessen. Am ende des zweiten Funktionswertes!

                  Bin jetzt arbeiten, viel Erfolg!

                  Kommentar


                  • #10
                    Wie wird es denn bei vBulletin gemacht???
                    Ich glaube hier werden die sahen, wie [img] auch von der DB abgerufen und vor der Ausgabe ersetzt oder????

                    aber bei mir passiert gar nichts. Die Tabellenspalte heißt NACHRICHT
                    und wenn ich die abrufe: $daten[NACHRICHT] ich versuche vor der echo ausgabe dies zu erstezen:
                    $daten[NACHRICHT]= str_replace("[img]", "<img src=\"", $daten[NACHRICHT]);
                    $daten[NACHRICHT]= str_replace("[/img]", "\">", $daten[NACHRICHT]);
                    da passiert aber gar nichts.

                    Heul was mache ich da falsch???
                    So hab ich auch keine PARSE Errors, aber auch kein Ergebnis

                    Kommentar


                    • #11
                      $daten[NACHRICHT]= preg_replace("/\[img\]/","<img src=\"", $daten[NACHRICHT]);
                      $daten[NACHRICHT]= preg_replace("/\[\/img\]/","\">", $daten[NACHRICHT]);

                      Kommentar


                      • #12
                        ja aber wo und wie soll ich das einbauen?????
                        Ich probiere es die ganze Zeit so:
                        PHP-Code:
                        ....................................
                        ............................................
                        .................................................
                        $result mysql_query("SELECT * FROM news ORDER BY DATUM DESC LIMIT ".($page-1)*$limit.", ".$limit);
                        $seiten ceil($total/$limit);
                        echo 
                        "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
                        while (
                        $daten=mysql_fetch_array($result ))
                        $daten[NACHRICHT]= preg_replace("/\[img\]/","<img src=\""$daten[NACHRICHT]);
                        $daten[NACHRICHT]= preg_replace("/\[\/img\]/","\">"$daten[NACHRICHT]);
                        {
                        echo 
                        "
                          <tr> 
                            <td width=\"60%\"><b>
                        $daten[TOPIC]</b></td>
                            <td width=\"40%\"><div align=\"right\">vom: 
                        $daten[POSTDATUM]</div></td>
                          </tr>
                          <tr valign=\"top\"> 
                            <td colspan=\"2\"  width=\"100%\">
                              <p>
                        $daten[NACHRICHT]</p>
                            </td>
                          </tr>
                          <tr> 
                        <td colspan=\"1\"><br>[ writen by 
                        $daten[NAME]  ] | [ Kommentare  ] <br></td>
                          </tr><br>"
                        ;

                        }
                        echo 
                        "</table>";
                        mysql_close();
                        ?> 

                        Kommentar


                        • #13
                          Denkfehler. !!! ich ändere
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar


                          • #14
                            Was passiert, wenn dus änderst. Ne Zeile tiefer hätte es wohl gepasst.

                            Kommentar


                            • #15
                              PHP-Code:
                              $result mysql_query("SELECT * FROM news ORDER BY DATUM DESC LIMIT ".($page-1)*$limit.", ".$limit);
                              $seiten ceil($total/$limit);
                              echo 
                              "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
                              while (
                              $daten=mysql_fetch_array($result ))
                              function 
                              Nach($msg)
                              {
                              $msg preg_replace("/\[img\]/","<img src=\""$msg);
                              $msg preg_replace("/\[\/img\]/","\">"$msg);
                              return 
                              $msg;
                              }
                              {
                              echo 
                              "
                                <tr> 
                                  <td width=\"60%\"><b>
                              $daten[TOPIC]</b></td>
                                  <td width=\"40%\"><div align=\"right\">vom: 
                              $daten[POSTDATUM]</div></td>
                                </tr>
                                <tr valign=\"top\"> 
                                  <td colspan=\"2\"  width=\"100%\">
                                    <p>"
                              .Nach($daten[NACHRICHT])."</p>
                                  </td>
                                </tr>
                                <tr> 
                              <td colspan=\"1\"><br>[ writen by 
                              $daten[NAME]  ] | [ Kommentare  ] <br></td>
                                </tr><br>"
                              ;


                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Kommentar

                              Lädt...
                              X