PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

21-11-2004, 06:17
|
israelsson
Newbie
|
|
Registriert seit: Aug 2004
Beiträge: 125
|
|
Umlaute ersetzen, damit Dateiname gültig ist...
hey!
ich hab schon in Forum gesucht, aber nichts gefunden was mir wirklich weiterhilft!
Ich möchte durch ein Formular ein Steckbriefmuster erstellen, wobei der Steckbrief anschließens als HTML datei gespreichert werden soll.
Der Dateiname setzt sich aus den ersten beiden Buchstaben des Vornamens und dem kompletten Nachnamen zusammen:
PHP-Code:
$vorname_str = strtolower(substr($vorname, 0, 2));
$nachname_str = strtolower($nachname);
$dateiname = "$vorname_str$nachname_str.html";
Das funktioniert auch alles, aber wenn in dem Nachnamen nun ein ä ü oder ö (Müller) oder bei falscher eingabe vielleicht auch ein ß eingegeben wird, ist der Dateiname nicht mehr gültig!
Wie kann ich den Vornamen und Nachnamen auf Umlaute überprüfen, und diese, wenn sie gefunden wurden, ersetzen durch ae, ue, oe und ss...
Danke für jede Hilfe im Voraus!
MFG Israel's Son
|

21-11-2004, 09:38
|
Günni
Master 
|
|
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
|
|
__________________
mfg
Günni
Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
|

21-11-2004, 12:35
|
israelsson
Newbie
|
|
Registriert seit: Aug 2004
Beiträge: 125
|
|
Danke!
PHP-Code:
// Umlaute entfernen
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("ae","oe","ue","Ae","Oe","Ue","ss");
$vorname_neu = preg_replace($umlaute, $replace, $vorname);
$nachname_neu = preg_replace($umlaute, $replace, $nachname);
// Dateiname wird erstellt
$vorname_str = strtolower(substr($vorname_neu, 0, 2));
$nachname_str = strtolower($nachname_neu);
$dateiname = "$vorname_str$nachname_str$dateiendung";
Jetzt funktioniert es!
kannte preg_replace() vorher garnich...
Besten Danke!
MFG Israel's Son
|

21-11-2004, 17:10
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
weiß nicht, ob's sinnvoll ist, aber man kann den modifier /i benutzen, da du die strings doch eh alle strlower() setzst.
|

03-06-2006, 12:33
|
Boron
Registrierter Benutzer
|
|
Registriert seit: Aug 2004
Beiträge: 191
|
|
*rauskram*
mal ne Frage: Ist es hier sinnvoller preg_replace() oder str_replace() zu benutzen um die Umlaute zu ersetzen?
|

03-06-2006, 12:56
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
str_replace(): "Falls Sie keine ausgefallenen String-Ersetzungen brauchen, sollten Sie immer dieser Funktion den Vorzug vor ereg_replace() oder preg_replace() geben. "
|

06-06-2006, 18:58
|
d.pioch
Newbie
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
Leider funktioniert die str_replace bei mir nicht richtig.
Sonderzeichen wie ä usw. ersetzt er, ß aber nicht!!!
So sieht die Befehlszeile aus:
$row2['products_description'] = str_replace("/ß/","ss",$row2['products_description']);
Habe ich hier jetzt einen ganz blöder Ferhler drin? Wie gesagt andere Zeichen ersetzt er.
Woran könnte es noch liegen?
Vielen Dank.
__________________
MFG
d.pioch
|

06-06-2006, 19:00
|
Morri
Newbie
|
|
Registriert seit: May 2006
Beiträge: 22
|
|
Zitat:
Original geschrieben von d.pioch
Leider funktioniert die str_replace bei mir nicht richtig.
Sonderzeichen wie ä usw. ersetzt er, ß aber nicht!!!
So sieht die Befehlszeile aus:
$row2['products_description'] = str_replace("/ß/","ss",$row2['products_description']);
Habe ich hier jetzt einen ganz blöder Ferhler drin? Wie gesagt andere Zeichen ersetzt er.
Woran könnte es noch liegen?
Vielen Dank.
|
probier mal
$row2['products_description'] = str_replace("ß","ss",$row2['products_description']);
|

07-06-2006, 09:06
|
d.pioch
Newbie
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
habe ich zuerst so gehabt, funktioniert aber auch nicht.
__________________
MFG
d.pioch
|

07-06-2006, 11:46
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Ja genau, dein PHP ist kaputt.
|

07-06-2006, 11:54
|
d.pioch
Newbie
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
So weit ich weiß läuft Php bei usnerem Provider auf der neusten Version...
__________________
MFG
d.pioch
|

07-06-2006, 11:57
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
PHP-Code:
<?php
$alt = 'Maße';
$neu = str_replace('ß', 'ss', $alt);
echo 'alt: '.$alt.'<br />';
echo 'neu: '.$neu;
?>
Ausgabe?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

07-06-2006, 12:01
|
d.pioch
Newbie
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
Ausgabe:
alt: Maße
neu: Masse
scheint also so zu funktionieren...
__________________
MFG
d.pioch
|

07-06-2006, 12:38
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Und was folgern wir draus?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

07-06-2006, 13:21
|
d.pioch
Newbie
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
Wir folgern daraus, dass da also etwas im Quelltext nicht stimmt.
Kann da aber keinen Fehler entdecken!
Wäre für Hilfe echt dankbar.
__________________
MFG
d.pioch
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|