Leerzeichen, Umlaute und Sonderzeichen aus String entfernen

Alex2xm

Mitglied
Hallo Leute,

habe ein Bilderuploadskript geschrieben.
Nun möchte ich dem DAU (dümmsten anzunehmenden User) vorgreifen und mögliche Leer- und Sonderzeichen entfernen sowie Umlaute umschreiben. Wie kann ich das machen?
Hat jm. eine Idee, oder vielleicht sogar schon ein Codeschnipsel?

Für die Hilfe danke ich im Voraus.

Alex
 
Vielleicht helfen die ja folgende zwei Funktionen weiter:

Einmal, wie MajorWindbeutel schon sagte:
trim
Entfernt Zeilenumbrüche, Tabulation, Leerzeichen und sonstige unsichtbare
Zeichen am Anfang und Ende des Textes.

Und zweitens:
htmlentities
Ersetzt Umlaute und sonstige Sonderzeichen durch die entsprechenden
HTML-Codes um (sprich: ü, ", usw...)

Wenn du nur die Umlaute ersetzen willst:
PHP:
$aUmlaute = array( "ü" => "ue", "Ü" => "Ue",
                   "ä" => "ae", "Ä" => "Ae",
                   "ö" => "oe", "Ö" => "Oe" );
foreach( $aUmlaute as $sSonderZeichen=>$sReplace ) {
    $sDeinText = str_replace( $sSonderzeichen, $sReplace, $sDeinText );
}

Eine anschließende Bearbeitung mit htmlentities und trim bleibt dir aber in
den meisten Fellen torzdem nicht erspart.
 
Moin!

Es reicht nicht immer nur bestimmte Zeichen zu ersetzen. Habe leider die Erfahrung gemacht. Um einen brauchbaren und noch erkennbaren Dateinamen aus z.B. einer Überschrift hinzubekommen müssen noch mehr Zeichen ausgetauscht werden. Ich hab dafür das folgende Script verwendet, daß ALLE Eventualitäten ausschließt. Wenn jemand was besseres weiß - immer her damit!

Code:
$t = str_replace("  ", " ", $t);
$t = str_replace("  ", " ", $t);
$t = str_replace(" ", "-", $t);
$t = str_replace("À", "A", $t);
$t = str_replace("à", "a", $t);
$t = str_replace("Á", "A", $t);
$t = str_replace("á", "a", $t);
$t = str_replace("Â", "A", $t);
$t = str_replace("â", "a", $t);
$t = str_replace("Ã", "A", $t);
$t = str_replace("ã", "a", $t);
$t = str_replace("Ä", "A", $t);
$t = str_replace("ä", "a", $t);
$t = str_replace("Å", "A", $t);
$t = str_replace("å", "a", $t);
$t = str_replace("Æ", "Ae", $t);
$t = str_replace("æ", "ae", $t);
$t = str_replace("Ç", "C", $t);
$t = str_replace("ç", "c", $t);
$t = str_replace("È", "E", $t);
$t = str_replace("è", "e", $t);
$t = str_replace("É", "E", $t);
$t = str_replace("é", "e", $t);
$t = str_replace("Ê", "E", $t);
$t = str_replace("ê", "e", $t);
$t = str_replace("Ë", "E", $t);
$t = str_replace("ë", "e", $t);
$t = str_replace("Ì", "I", $t);
$t = str_replace("ì", "i", $t);
$t = str_replace("Í", "I", $t);
$t = str_replace("í", "i", $t);
$t = str_replace("Î", "I", $t);
$t = str_replace("î", "i", $t);
$t = str_replace("Ï", "I", $t);
$t = str_replace("ï", "i", $t);
$t = str_replace("Ñ", "N", $t);
$t = str_replace("ñ", "n", $t);
$t = str_replace("Ò", "O", $t);
$t = str_replace("ò", "o", $t);
$t = str_replace("Ó", "O", $t);
$t = str_replace("ó", "o", $t);
$t = str_replace("Ô", "O", $t);
$t = str_replace("ô", "o", $t);
$t = str_replace("Õ", "O", $t);
$t = str_replace("õ", "o", $t);
$t = str_replace("Ö", "Oe", $t);
$t = str_replace("ö", "oe", $t);
$t = str_replace("Ø", "Oe", $t);
$t = str_replace("ø", "oe", $t);
$t = str_replace("Ù", "U", $t);
$t = str_replace("ù", "u", $t);
$t = str_replace("Ú", "U", $t);
$t = str_replace("ú", "u", $t);
$t = str_replace("Û", "U", $t);
$t = str_replace("û", "u", $t);
$t = str_replace("Ü", "Ue", $t);
$t = str_replace("ü", "ue", $t);
$t = str_replace("Y´", "Y", $t);
$t = str_replace("y´", "y", $t);
$t = str_replace("ß", "ss", $t);
		
for ($i = 0; $i < 48; $i++)
	$t = str_replace(chr ($i), "", $t);
for ($i = 58; $i < 65; $i++)
	$t = str_replace(chr ($i), "", $t);
for ($i = 91; $i < 97; $i++)
	$t = str_replace(chr ($i), "", $t);
for ($i = 123; $i < 256; $i++)
	$t = str_replace(chr ($i), "", $t);

Vielleicht hift's ja ....
 
Zurück