replace funzt nicht beim Dateiordner erstellen?!

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

  • replace funzt nicht beim Dateiordner erstellen?!

    Hallo, wenn ich die replace Funktion alleine ausführe werden die Umlaute und Sonderzeichen brav ersetzt, in der funktion, die einen dateiordner erstellt, werden sie aber nicht ersetzt.

    Der Ordnername wird später auf einer Seite ausgegeben, und soll auch Sonderzeichen wie z.B. eine Leertaste erlauben. Dass das schwirg und nicht sinnvoll etc... (man liest ja einiges dazu) ist, ist mir bekannt, (Die Dateien in dem Ordner sollen ausführbar sein, und das klappt mit Leerzeichen nicht)
    Ich versteh nicht, warum die Zeichen in der "Ordnererstellfunktion" nicht ersetzt werden. Hoffe es kann mir jemand weiterhelfen hier der code:

    PHP-Code:
     //Anfang Sonderzeichen ersetzen
    //...
    function replace($verzeichnis)
    {
    $k2=array('Ä','ä','Ö','ö','Ü','ü',' ','²','³','ß');
    $k1=array('Ä','ä','Ö','ö','Ü','ü',' ','²','³','ß') ;
    for (
    $i='0';$i<'10';$i++)
    {
    $verzeichnis str_replace($k1[$i],$k2[$i],$verzeichnis);
    }
    return 
    $verzeichnis;
    }
    replace($verzeichnis); //Aufruf der Sonderzeichenersetzenfunktion 

     //Ende Sonderzeichen ersetzen
      
     
    $projnumname="$kat"."_000_"."$verzeichnis";
      
        
    # ordner erstellen dessen name vorher eingegeben wurde
            
    if(mkdir("./projekte/$projnumname"0777)){ 
    //... 
    Wer Rechtschreibfehler findet, darf sie behalten

  • #2
    Zum Ersetzen brauchst du keine Schleife, solange jedem Element in Search genau ein Element in Replace entspricht
    PHP-Code:
    $k2=array('&Auml;','&auml;','&Ouml;','&ouml;','&Uuml;','&uuml;','&nbsp;','&sup2;','&sup3;','&szlig;');
    $k1=array('Ä','ä','Ö','ö','Ü','ü',' ','²','³','ß') ;
    $verzeichnis str_replace($k1,$k2,$verzeichnis); 
    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      PHP-Code:
      for ($i '0'$i '10'$i++)
      {
      // ... 
      Was haben denn die Singlequotes um die Werte von $i da zu suchen?
      PHP-Code:
      for ($i 0$i 10$i++)
      {
      // ... 
      Dafür gibt's integer, du möchtest doch immerhin mit Zahlen rechnen und nicht mit Strings (wenn auch numerischer Natur),
      Nieder mit der Camel Case-Konvention

      Kommentar


      • #4
        Danke für eure Überschallantworten

        Beide Lösungsvorschläge führten nach Rom äh brachten das erwünschte Ergebnis

        Danke euch!
        Wer Rechtschreibfehler findet, darf sie behalten

        Kommentar


        • #5
          Re: replace funzt nicht beim Dateiordner erstellen?!

          Original geschrieben von fx001
          Ich versteh nicht, warum die Zeichen in der "Ordnererstellfunktion" nicht ersetzt werden.
          Weil du den Rückgabewert der Funktion überhaupt nicht entgegennimmst, sondern ihn im Nichts verpuffen lässt.


          PHP-Code:
          $projnumname="$kat"."_000_"."$verzeichnis"
          Dass auch hier die Anführungszeichen um die Variablenbezeichner idiotisch sind, mach dir bitte ganz schnell klar.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X