Bestimmte Zeichen ersetzen PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
buchstabe
code
dank
ersetzen
http
kleinbuchstaben
manual
nutzen
performance
sinn
sonderzeichen
string
text
umlaut
unterschiedlichen parametern
url
webseite
zeichen
zeile
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das kannst du mit preg_replace bewerkstelligen
-
fitsein schrieb:
Das kannst du mit preg_replace bewerkstelligen
Ich hab mir die Funktion eben angesehen. Kannst du mir ein kurzes Beispiel geben?
Ich habe probiert, mehrere Werte ersetzen zu lassen, es hat aber irgendwie nicht geklappt.
Edit: Kann man mit preg_replace() auch Großbuchstaben ersetzen zu kleinbuchstaben, sodass der ganze Text klein geschrieben ist?
Beitrag zuletzt geändert: 24.2.2012 22:54:59 von php-oop -
Du musst preg_replace() einfach mit unterschiedlichen Parametern untereinandersetzen und dabei immer den selben String weiterbearbeiten.
php-oop schrieb:
Ja, das geht. Dafür müsstest du aber für jeden Buchstaben eine Zeile schreiben, was bei 26 Buchstaben + 3 Umlauten allerdings ziemlich aufwändig wäre. strtolower() zu nutzen, ist viel einfacher.
Edit: Kann man mit preg_replace() auch Großbuchstaben ersetzen zu kleinbuchstaben, sodass der ganze Text klein geschrieben ist? -
drafed-map schrieb:
Du musst preg_replace() einfach mit unterschiedlichen Parametern untereinandersetzen und dabei immer den selben String weiterbearbeiten.
php-oop schrieb:
Ja, das geht. Dafür müsstest du aber für jeden Buchstaben eine Zeile schreiben, was bei 26 Buchstaben + 3 Umlauten allerdings ziemlich aufwändig wäre. strtolower() zu nutzen, ist viel einfacher.
Edit: Kann man mit preg_replace() auch Großbuchstaben ersetzen zu kleinbuchstaben, sodass der ganze Text klein geschrieben ist?
Danke für die Antwort !
Ich habe das jetzt so gelöst:
$umlaute = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/","/\s+/"); $replace = array("ae","oe","ue","Ae","Oe","Ue","ss","-"); $name = preg_replace($umlaute, $replace, $rezeptname); $new_name = strtolower($name);
Gibt es noch andere Zeichen, die man in einem Link zu einem Bild ersetzen sollte? -
drafed-map schrieb:
php-oop schrieb:
Davon rate ich dir ab. Ein Moderator wird Askarians Beitrag bald löschen, da er überhaupt keinen Sinn macht.
askarian schrieb:
Ich würde eher &aouml; etc. verwenden->Es sind die HTML Sonderzeichen, bzw. Umlaute.
http://de.selfhtml.org/html/referenz/zeichen.htm
Ok, mach ich.
Danke!
Wieso dass???
Anstatt von ae, ue, oe a, ü, und ö. Mann kann zwar auch irgendwie Iso Type=... machen, aber das zerschießt bei mir das Layout.
Also ich erkenne darin den Sinn, dass es besser aussieht.
€: Und Mods schlafen auch mal...: sleep:
Beitrag zuletzt geändert: 24.2.2012 23:52:42 von askarian -
Vom Einsatz wird deswegen abgeraten, weil die generierte Zeichenkette allem Anschein nach in einer URL verwendet werden soll. URLs mit Sonderzeichen sehen nicht immer schön aus und sind teilweise auch Hinderlich.
Ich persönlich ersetze für den Zweck die Umlaute, ersetze Leerzeichen und Lösche alle Zeichen welche nicht Alphanumerisch oder Unterstriche sind ;) -
php-oop schrieb:
für genau deine aufgabe würde ich mir das nochmals gut überlegen und mit str_replace(...) arbeiten. als kleine entschedungshilfe (suche nach 'performance preg_replace') paar interessante links:
... Ich habe das jetzt so gelöst:
...$umlaute = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/","/\s+/"); $replace = array("ae","oe","ue","Ae","Oe","Ue","ss","-"); $name = preg_replace($umlaute, $replace, $rezeptname); $new_name = strtolower($name);
Russ Cox, Cambridge
Implementations and running times
Comparison of regular expression engines
Performance Guidelines
... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage