preg_replace.. was mach ich falsch

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

  • preg_replace.. was mach ich falsch

    hi hab folgendes probelm ich bau aus einer Überschrift dem Datum und
    einen file namen einen neuen namen zusammen für ein file upload geht auch alles bis auf die umlaute umzuwandeln hier mein script :


    PHP Code:

    //upload
    $uploaddir 'http://www.meine_domain.de/news/upload/';

    $uploaddir addslashes($uploaddir);

    // Einfuegen in die Datenbank vorbereiten, indem
    // vor irgendwelche Sonderzeichen Backslashes gesetzt werden

    //das File ansich
    $pdf addslashes($pdf);
    //titel

    $patterns[0] = "/ae/";
    $patterns[1] = "/oe/";
    $patterns[2] = "/ue/";
    $patterns[3] = "/Ae/";
    $patterns[4] = "/Oe/";
    $patterns[5] = "/Ue/";

    $replacements[0] = "ä";
    $replacements[1] = "ö";
    $replacements[2] = "ü";
    $replacements[3] = "Ä";
    $replacements[4] = "Ü";
    $replacements[5] = "Ö";

    $titelpreg_replace($pattern$replacement$titel);


    $titel addslashes($titel);


    //Uhrzeit
    $ticktack date("d_m_Y");
    $ticktack addslashes($ticktack);


    //zusammensetzen des neuen namens der datei
    $neuer_name$titel."_".$ticktack."_".$_FILES['pdf']['name'];
    $neuer_name=addslashes($neuer_name);


    //upload
    move_uploaded_file($_FILES['pdf']['tmp_name'], "upload/".$neuer_name);

    // Pfad in Datenbankspeichern
    $track_dir$uploaddir.$neuer_name;
    $track_dir =addslashes($track_dir);

    //

     
    $sqlbefehl  =  "update $tab_news set titel='$titel',news='$news',time='$zeit',
    kategorie='
    $kategorie',name='$name',
    allowkom='
    $allowkom', newsformat='html',
    pdf='
    $track_dir' where id=$edit";
           if (!
    $ergebnis  mysql_query($sqlbefehl$serverid))
          echo 
    mysql_error($serverid);

     echo 
    "<center>Artikel geändert !</center>";
     } 

    was mach ich falsch ??


    gruss sascha
    Last edited by Kleinschmidt; 15-12-2003, 16:17.
    Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

  • #2
    ich glaube du versuchst falschrum zu ersetzen...
    du ersetzt ae mit ä...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Comment


    • #3
      btw ist bei Dir $pdf das Gleiche wie $_FILES['pdf']['name'] ?
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Comment


      • #4
        pattern != patterns , replacement dito.
        Kissolino.com

        Comment


        • #5
          hmm hab

          es jetzt mal anders herum probiert aber geht auch nicht..




          naja

          kommt daher


          <input type="file" size="20" name="pdf" value="">
          Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

          Comment


          • #6
            also erstmal hat Wurzel recht Du machst die namen der vars falsch.
            Dann nimm immer $_FILES[]
            und Du ersetzt falschrum oder probierst es zumindest
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Comment


            • #7
              hmm die namen hab ich schon geändert, hab es auch nochmal anders herum gemacht geht alles nicht.


              wo soll ich den $pdf weglassen ?? der Upload ansich geht ja auch das zusammen bauen des Namens eben nur nicht das ersetzen der Umlaute

              gruss sascha
              Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

              Comment


              • #8
                willst du ae => ä wandeln? ... dann ist die regex ok,
                sonst solltest du das so:

                $patterns[] = "/ä/";
                $replacements[] = "ae";
                ...

                aufbauen.
                Kissolino.com

                Comment


                • #9
                  habs jetzt so probiert:

                  PHP Code:
                  $titel=preg_replace(array("/ae/","/oe/","/ue/","/Ae/","/Oe/","/Ue/"), array("ä","ö","ü","Ä","Ö","Ü"), $titel); 

                  geht leider auch nicht ...


                  datei wird hochgelden aber der Name ist immernoch äüö....
                  Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                  Comment


                  • #10
                    hallo .... kleinschmidt .... wach werden *klingel*

                    dein pattern sucht JETZT nach "ae" und wills in "ä" umwandeln !
                    Kissolino.com

                    Comment


                    • #11
                      wie schon mehrfach erwähnt
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Comment


                      • #12
                        arghh.. ich raffs heute nicht mehr .....

                        anders herum bring er mir diese Fehlermeldung

                        $titel=preg_replace( array("ä","ö","ü","Ä","Ö","Ü"),array("/ae/","/oe/","/ue/","/Ae/","/Oe/","/Ue/"), $titel);






                        Warning: No ending delimiter 'ä' found in /home/www/web22/html/news/postnews.php on line 375

                        Warning: No ending delimiter 'ö' found in /home/www/web22/html/news/postnews.php on line 375

                        Warning: No ending delimiter 'ü' found in /home/www/web22/html/news/postnews.php on line 375

                        Warning: No ending delimiter 'Ä' found in /home/www/web22/html/news/postnews.php on line 375

                        Warning: No ending delimiter 'Ö' found in /home/www/web22/html/news/postnews.php on line 375

                        Warning: No ending delimiter 'Ü' found in /home/www/web22/html/news/postnews.php on line 375
                        Last edited by Kleinschmidt; 15-12-2003, 18:00.
                        Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                        Comment


                        • #13
                          Original geschrieben von Kleinschmidt
                          arghh.. ich raffs heute nicht mehr .....
                          anders herum bring er mir diese Fehlermeldung
                          ... hast du dich schon gefragt wofür die niedlichen "/" da sind?

                          wie wärs mit => datei schliessen => 10 min. um den block laufen => datei öffnen => hirn einschalten => weitermachen ?
                          EDIT:
                          lies dir meine posts nochmal durch, ein beispiel steht schon da
                          Kissolino.com

                          Comment


                          • #14
                            Original geschrieben von Kleinschmidt
                            anders herum bring er mir diese Fehlermeldung

                            Warning: No ending delimiter 'ä' found in /home/www/web22/html/news/postnews.php on line 375
                            und was sagt dir das?

                            dein REGEX-pattern hat nicht die korrekte syntax.

                            kein wunder, als ersten parameter sollst du ja auch die pattern übergeben, und nicht als zweiten - du hast es also immer noch falsch rum gemacht ...

                            PHP Code:
                            $titel=preg_replace"/ä/""ae"$titel); 
                            also, beim ersten parameter die delimiter hin machen, denn dieser ist das suchmuster.
                            der zweite enthält nur die ersetzungen, kein muster - deshalb da auch keine delimiter ...
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Comment


                            • #15
                              hatte es eben noch anders herum da wurde mir gesagt das es falsch herum ist dann hab ich es anders herum gemacht und es ist immernoch falsch herum ?? wie nun


                              hallo .... kleinschmidt .... wach werden *klingel*

                              dein pattern sucht JETZT nach "ae" und wills in "ä" umwandeln !

                              O.K ich versuch jetzt noch die //////// zu ändern und dann mal schauen



                              gruss sascha
                              Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                              Comment

                              Working...
                              X