Tom: HILFE! Filenames für Windows oder Linux(?) kastrieren!

Beitrag lesen

Hello,

ich habe mich mal daran gemacht, eine "Kastrationsfunktion" in PHP zu erstellen.
Leider habe ich mit Multibyte und Singlebyte nun total verhaspelt.

Was wird zum Vergleich wann wo wie gespeichert und verglichen?

Es gibt kein "mb_str_replace()", Aber ich kann auch keine Zeichen dediziert in einer Codierung vorgeben. Die fehlenden Funktionen hatten wir in einem anderen Thread. Dazu fehlen mir einfach die Informatonen über die Codepoints und passende Funktionen dazu, um daraus eine Bytefolge zu machen. Und dann sind wir schon bald wieder soweit unten , ob da Big-Endian oder Little-Endian gespeichert wird usw.

Bisher hatte ich diesen Fahrplan

* Umlaute entfernen bzw. ersetzen
    * kein führender Punkt
    * keine Pfade zulassen ('' und '/' entfernen bzw. austauschen)
    * alle nicht in einer Positivliste enthaltenen Zeichen ersetzen.
    * Dateiendungen (*.ext) kontrollieren und ggf. ersetzen oder ablehnen

Es müssen aber die Codierungen für die Namensübertragung, die Scripte, die Progammerstellung etc. beachtet werden. Hier passiert mir noch zuviel automatsich an Stellen, die ich noch nicht auf dem Schirm habe.

  
function castrate_name($name)  
{  
  
	static $file_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-+_ ~!#$%&(),@[]{}';  
  
    $_search1  = array(' ', 'ä', 'ö', 'ü', 'ß', 'Ä', 'Ö', 'Ü', '/', '\\');  
    $_replace1 = array('_', 'ae', 'oe', 'ue', 'ss', 'Ae', 'Oe', 'Ue', '-', '-');  
	$_search2  = array('<', '>', '?', '"', ':', '|', '*');  
	$replace2 = '#';  
	  
	$name = str_replace($_search1, $_replace1, $name);  
	$name = str_replace($_search2, $replace2, $name);  
	  
    $len = mb_strlen ($name);  
	  
	### Verwirrung  
	  
	  
	  
	  
    return $newname;  
}  
  

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com
0 92

Zeichensatzproblem

hawkmaster
  • sonstiges
  1. 0
    Auge
    1. 0
      hawkmaster
      1. 0
        Auge
        1. 0
          hawkmaster
          1. 0
            Matthias Apsel
            1. 0
              hawkmaster
          2. 0
            Der Martin
            1. 0
              hawkmaster
              1. 0

                Bug?

                hawkmaster
                1. 0
                  Der Martin
                  1. 0
                    hawkmaster
                    1. 0
                      Der Martin
                      1. 0
                        hawkmaster
                        1. 0
                          Tom
                          1. 0
                            hawkmaster
                          2. 0
                            Der Martin
                            1. 0

                              Normalisierung,

                              hawkmaster
                          3. 0

                            Bug? Aber ein mächtiger! Oder wir sind beide bloed (ohne ö)

                            Tom
                            1. 0
                              Tom
                            2. 0

                              Das wird ja immer irrer!

                              Tom
                              1. 0
                                hawkmaster
                                1. 0
                                  Auge
                                  • meinung
                                  1. 0
                                    Tom
                                  2. 0
                                    hawkmaster
                                    1. 0
                                      Auge
                                2. 0
                                  Tom
                                  1. 0
                                    Der Martin
                                    1. 0

                                      Windows Zeichentabelle

                                      Tom
                                      1. 0
                                        Der Martin
                                        1. 0
                                          Tom
                                          1. 0
                                            Der Martin
                                            1. 0
                                              Tom
                                              1. 0
                                                Der Martin
                                              2. 0
                                                Tom
                                                1. 0
                                                  Der Martin
                                                  1. 0
                                                    Tom
                              2. 0
                                hawkmaster
                                1. 0
                                  Der Martin
                                  1. 0
                                    hawkmaster
                                    1. 0
                                      Tom
                                      1. 0
                                        hawkmaster
                                        1. 0
                                          hawkmaster
                                          1. 0
                                            Auge
                                            1. 0
                                              hawkmaster
                                              1. 0
                                                Auge
                                                1. 0
                                                  hawkmaster
                                                2. 0
                                                  Tom
                                                  1. 0

                                                    Filenames für Windows oder Linux(?) kastrieren!

                                                    Tom
                                                    • php
                                                    1. 0

                                                      HILFE! Filenames für Windows oder Linux(?) kastrieren!

                                                      Tom
                                                      1. 0
                                                        Felix Riesterer
                                                        1. 0

                                                          Klasse für utf-8 Umwandlungen und utf-8 Erkennung

                                                          Tom
                                                          1. 0

                                                            Archivierung von Threads

                                                            Matthias Apsel
                                                            • zu diesem forum
                                                        2. 0
                                                          hawkmaster
                                                          1. 2
                                                            Christian Kruse
                                                            1. 0
                                                              Tom
                                                            2. 0
                                                              hawkmaster
                                                              1. 0
                                                                Christian Kruse
                                                                1. 0

                                                                  Die Lösung

                                                                  hawkmaster
                                                                  1. 0

                                                                    Extension

                                                                    hawkmaster
                                                                    1. 0
                                                                      Tom
                                                                      1. 0
                                                                        Tom
                                                                        1. 0

                                                                          Bitte @ Gunnar: Abbildungstypen im Normalizer erläutern

                                                                          Tom
                                                                          • programmiertechnik
                                                                          1. 0
                                                                            Gunnar Bittersmann
                                                                            1. 0
                                                                              Tom
                                                                  2. 0
                                                                    Tom
                                                                  3. 0

                                                                    Die Lösung, noch nicht ganz!

                                                                    Tom
                                                        3. 0
                                                          Gunnar Bittersmann
                                                      2. 0
                                                        hotti
                                                  2. 0
                                                    hawkmaster
                                                    1. 0
                                                      Der Martin
                                                      1. 0

                                                        genaus so

                                                        hawkmaster
                                              2. 0
                                                Tom
                                                1. 0

                                                  versehentlich geschlossener Tab

                                                  Matthias Apsel
                                          2. 0
                                            Tom
                                          3. 3
                                            Christian Kruse
    2. 0
      hawkmaster
      1. 0
        Auge
        1. 0
          hawkmaster
  2. 0
    Matthias Apsel
    1. 0
      Matthias Apsel
      1. 0
        hawkmaster
    2. 0
      hawkmaster
  3. 0
    Gunnar Bittersmann
    1. 0
      Tom
      1. 0
        Gunnar Bittersmann
    2. 0
      hawkmaster
      1. 0
        Auge
      2. 0
        Christian Kruse
  4. 0
    Tom
    1. 0
      hawkmaster
  5. 0
    Jörg Reinholz