preg_replace.. was mach ich falsch

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

  • 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
    Zuletzt geändert von Kleinschmidt; 15.12.2003, 17: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

    Kommentar


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

      Kommentar


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

        Kommentar


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

          Kommentar


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

            Kommentar


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

              Kommentar


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

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

                aufbauen.
                Kissolino.com

                Kommentar


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

                  Kommentar


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

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

                    Kommentar


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

                      Kommentar


                      • #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
                        Zuletzt geändert von Kleinschmidt; 15.12.2003, 19:00.
                        Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                        Kommentar


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

                          Kommentar


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

                            Kommentar


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

                              Kommentar

                              Lädt...
                              X