hilfe bei regulären ausdrücken

Alles, was PHP betrifft, kann hier besprochen werden.

hilfe bei regulären ausdrücken

Postby dunst » 02. January 2008 19:34

ich möchte schön saubere webdateinamen erzeugen
dafür müssen halt alle sonderzeichen die nichts in einen dateinamen zu suchen haben raus.

ich wollte leerzeichen durch unterstriche ersetzen
und die umlaute durch ihre erzatzschreibweise als bei ä dann ae

erlaubte zeichen sollen auch weiterhin da bleiben
die anderen vollkommen verschwinden

man kann das ja durch str_replace machen
aber ich bin der meinung das, dass mit preg_replace ist das besser

stimmt das und kann mir jemand helfen bei dem regulären ausdruck
ich bin da nicht so begabt bei


Code: Select all
          $dateiname = str_replace(' ', '_',$dateiname);
          $dateiname = str_replace('ä', 'ae',$dateiname);
          $dateiname = str_replace('ü', 'ue',$dateiname);
          $dateiname = str_replace('ö', 'oe',$dateiname);
          $dateiname = str_replace('ß', 'ss',$dateiname);
XAMPP 1.6.3a

Webserver: Apache 2.2.4
MailServer: hMailServer 4.4-B270
SQLServer: MySQL 5.0.45-community-nt
CronService: pycron 0.5.9

Mercury ist scheiße, hMailServer ist besser!
User avatar
dunst
 
Posts: 15
Joined: 05. March 2007 21:37

Postby Knight1 » 05. January 2008 13:28

Hi dunst,
also meiner Meinung nach ist str_replace völlig ausreichend solange es keine komplexen Suchmuster zu berücksichtigen gibt.

Du kannst das ganze aber noch "vereinfachen" bzw. um einige Zeilen reduzieren.

Hier die Reduzierte Version:

Code: Select all
$search = array(' ','ä','ö','ü');
$replace = array('_','ae','oe','ue');
$dateiname = str_replace($search,$replace,$dateiname);


Zu Erklärung:
str_replace kann auch mit Arrays genutzt werden. Dabei wird der Index 0 des search-Arrays durch den Wert des Indices 0 des replace-Arrays ersetzt usw..

Das ganze reduziert natürlich die Anzahl der einzelnen str_replace-Zeilen ungemein und läuft, wenn ich das korrekt beurteile, auch schneller (@AF-Com: Bitte korrigiert mich wenn ich falsch liege mit miener Beurteilung der Geschwindigkeit).


MFG



Kai aka Knight1
Image
User avatar
Knight1
 
Posts: 310
Joined: 18. October 2003 10:03
Location: Trier
Operating System: Windows 7 Ultimate x64


Return to PHP

Who is online

Users browsing this forum: No registered users and 12 guests