php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.02.2006, 02:56  
Gast
 
Beiträge: n/a
Standard [Erledigt] AE durch ä ersetzen, OE durch ö, usw...

Heyho,

bei Variablendeklaration und -belegung in PHP soll man ja sparsam mit Umlauten umgehen.
Ich hab auf meiner Seite einen Link "Gästebuch", der Anker lautet "index.php?site=gaestebuch".
Weiter unten steht dann
Code:
echo ucfirst(InsertUmlauts($site));
Das sollte eigentlich dann "Gästebuch" ausgeben, es kommt jedoch nur "Gastebuch" raus
Hier die Funktion InsertUmlauts():
Code:
	function InsertUmlauts($string) {
		$string = str_replace('ae', 'ä', $string);
		$string = str_replace('oe', 'ö', $string);
		$string = str_replace('ue', 'ü', $string);

		return $string;
	}
Kann mir wer sagen, wieso das nicht geht?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.02.2006, 06:22  
Gast
 
Beiträge: n/a
Standard Re: AE durch � ersetzen, OE durch �, usw...

Zitat:
Zitat von sebbl
Heyho,
Jahuuuuuuhhhh. Ich über lege gerade, was die Sonderzeichen in Deiner Überschrift bedeuten mögen.

Zitat:
bei Variablendeklaration und -belegung in PHP soll man ja sparsam mit Umlauten umgehen.
Falsch. Nicht sparsam. Man beschränkt sich bei der Wahl der Zeichen schlicht und einfach auf US-ASCII und auf das Handbuch.

Zitat:
Kann mir wer sagen, wieso das nicht geht?
a. wer sollte Deine Fehler kennen?
b. tolle Fehlerbeschreibung.
  Mit Zitat antworten
Alt 28.02.2006, 07:52  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ums mal nett zu sagen, der code ist schwachfug, dir sollte klar sein, dass nicht jedes ae oe ue ein umlaut ist, unter umständen verhunst du dir deine texte damit.

mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 28.02.2006, 12:50  
Gast
 
Beiträge: n/a
Standard

Was ein gutes Forum auszeichnet:
1) Nette, hilfsbereite und vorallem hilfsfreudige Benutzer
2) Nicht nur dumme Kommentare, ohne etwas zu verbessern

Ihr beiden seid nicht grade die Sorte von Benutzern, die man sich wünschen kann

Zitat:
Jahuuuuuuhhhh. Ich über lege gerade, was die Sonderzeichen in Deiner Überschrift bedeuten mögen.
Das sind Umlaute.

Zitat:
Falsch. Nicht sparsam. Man beschränkt sich bei der Wahl der Zeichen schlicht und einfach auf US-ASCII und auf das Handbuch.
Das "sparsam" soll eigentlich genau das sagen. Ich werd mich nächstes Mal besser ausdrücken

Zitat:
a. wer sollte Deine Fehler kennen?
b. tolle Fehlerbeschreibung.
a) Der Fehler ist angegeben:
Zitat:
Das sollte eigentlich dann "Gästebuch" ausgeben, es kommt jedoch nur "Gastebuch" raus
b) Was ist das Problem dabei? Ich hab den Code angegeben und den Fehler.

Zitat:
ums mal nett zu sagen, der code ist schwachfug, [...]
Ja, kann schon sein, aber ich wende mich doch deswegen an euch. Dumme Antworten bekomm ich auch von meiner Zimmertür.
  Mit Zitat antworten
Alt 28.02.2006, 13:13  
Erfahrener Benutzer
 
Registriert seit: 15.07.2005
Beiträge: 230
zapate
Standard

PHP-Code:
<?
   
function InsertUmlauts($string) {
      
$string str_replace('ae''&auml;'$string);
      
$string str_replace('oe''&ouml;'$string);
      
$string str_replace('ue''&uuml;'$string);

      return 
$string;
   }
   
   
   
$site="gaestebuch";   
   
   
echo 
ucfirst(InsertUmlauts($site));   
   
   
   
   
?>
funktioniert doch einwandfrei
zapate ist offline   Mit Zitat antworten
Alt 28.02.2006, 14:01  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
funktioniert doch einwandfrei

wenn er postet das es nicht geht warum wiederholst du seinen Quellcode ?

es scheint ja bei ihm nicht zu gehen ??

Ausserdem sollte man das betachten !!!!!!

Zitat:
dir sollte klar sein, dass nicht jedes ae oe ue ein umlaut ist, unter umständen verhunst du dir deine texte damit
M3g4Star ist offline   Mit Zitat antworten
Alt 28.02.2006, 15:25  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von sebbl
Was ein gutes Forum auszeichnet:
1) Nette, hilfsbereite und vorallem hilfsfreudige Benutzer
2) Nicht nur dumme Kommentare, ohne etwas zu verbessern
3) Klar und verständlich formulierte Fragen.

Und daran haperts ja bei Dir.

Warum die Funktion, ausgerechnet bei Dir nicht das gewünschte Ergebnis bringt, ist nicht beantwortbar.

Code:
<?php
function InsertUmlauts($string) 
{ 
     $string = str_replace('ae', '&auml;', $string); 
     $string = str_replace('oe', '&ouml;', $string); 
     $string = str_replace('ue', '&uuml;', $string); 
     return $string; 
}

echo InsertUmlauts('Gaestebuch');

?>
Ausgabe:
Code:
Gästebuch
Zitat:
Dumme Antworten bekomm ich auch von meiner Zimmertür.
Wenn Du die genauso fragst, tut die mir echt leid.
  Mit Zitat antworten
Alt 28.02.2006, 15:33  
Gast
 
Beiträge: n/a
Standard

@sebbl
Ob dir die Antworten nun passen oder in China platzt ne Bratwurst. Du solltest dir trotzdem den Beitrag von robo47 nochmal durch den Kopf gehen lassen. Nur mal ein Beispiel:

Oboe -> Obö

Da lassen sich locker noch jede Menge Beispiele finden, warum das dummes Zeug ist. Das hätte dir deine Zimmertür aber auch sagen können.

Gruß
phpfan
  Mit Zitat antworten
Alt 28.02.2006, 18:15  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Zitat:
Zitat von sebbl
Zitat:
Jahuuuuuuhhhh. Ich über lege gerade, was die Sonderzeichen in Deiner Überschrift bedeuten mögen.
Das sind Umlaute.
Das waren das Latin-codierte UTF-8-Zeichen (Foren-Bug, wenn man die Vorschau benutzt). Ich hatte die stillschweigend ersetzt.

Zum Thema:
Wenn da wirklich Gastebuch rauskommt (m Quelltext), dann scheint da wohl noch eine andere Funktion drüberzlaufen. Hast du den Code mal isoliert getestet? Falls im Quellcode "G&auml;stebuch" rauskommt, du aber im Browser nur Gastebuch siehst, würde ich vermuten, dass du eine Schrift verwendest, die die "normalen" Volkale anstatt der Umlaute "einsetzt". Allerdings würde mich das schwer wundern, zumal wir hier ja (in aller Regel) fürs Web programmieren und da ja eh nur ein paar Schriften sinnvoll einsetzbar sind.

Aber davon ab - und daher womöglich die Verweigerung, dir konkret zu helfen - hast du ja bereits den Hinweis auf die Unnsinnigkeit, Umlaute mit ae etc. zu koderen, da du damit Mehrdeutigketen produzierst.

Du solltest also mal schauen, ob du in deinen "Sites" (übrigens hier nicht gerade sehr passender Ausdruck, scheint mir) nicht ein Titel-Attribut anfügen kannst.

Basti
Basti ist offline   Mit Zitat antworten
Alt 28.02.2006, 22:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von sebbl
Dumme Antworten bekomm ich auch von meiner Zimmertür.
Aha, Du hast also auch eine Schwester

Solange Du die Umlaute nur für Deine Seiten nimmst, kannst Du Dir
schwerlich etwas "verhauen" wie mehrfach angesprochen - da haben
einige nur flüchtig gelesen

Wenn Du das aber für Links einsetzen willst, musst Du darauf achten, daß
- aus welchen Grund auch immer - auch einmal der ANFANG des Wortes
ein Umlaut sein kann, also zum Beispiel "Über uns".

Ausserdem kannst Du mehrere Abfragen auf einmal machen über Arrays

$testwort = strtolower($testwort); - Erstmal alles in Kleinbuchstaben, auch
"Ueber uns"...

PHP-Code:
<?php
function deutsch($testwort)
{
 
$testwort ucFirststr_replace(
  array(
'ae','oe','ue','ss',' '),
  array(
'&auml;','&ouml;','&uuml;','&szlig;',''),
  
$testwort ) );

 return (
$testwort);
}
?>
Ich würde davon abraten einen String $string zu nennen - reservierte Wörter sollten vermieden werden als Variablennamen.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
String durchsuchen und ersetzen unabhängig von Groß / KLein PHP Tipps 2006 2 09.07.2006 23:29
geschachtelten array sortieren, enter ersetzen und umlaute moose PHP Tipps 2006 5 20.04.2006 12:24
String ersetzen Benshee PHP Tipps 2006 4 02.04.2006 21:43
MySql: Suchen und ersetzen Problem faragerri Datenbanken 5 02.03.2006 15:20
Problem mit der preg_replace - Ersetzen einer Zeichenkette reimondo PHP Tipps 2006 10 07.02.2006 22:36
Anführungszeichen ersetzen PHP Tipps 2005-2 6 28.09.2005 20:39
Session ersetzen duderino PHP Tipps 2005-2 14 21.09.2005 15:27
unbekannten teilstring mit anfang/end-markierung ersetzen janni PHP Tipps 2005 14 29.04.2005 14:53
Suchen - Ersetzen PHP Tipps 2005 4 16.04.2005 22:40
Text in datei ersetzen und dann wieder speichern Ypsillon PHP Tipps 2005 2 19.02.2005 15:26
regulärer Ausdruck zum dynamischen ersetzen in einem templat robo47 PHP Tipps 2004 3 02.11.2004 08:25
[Erledigt] includ. Text ersetzen ohne vars PHP Tipps 2004 3 13.09.2004 23:16
templatesystem - variables ersetzen konsti PHP-Fortgeschrittene 6 07.08.2004 10:56
[Erledigt] RegExp: Dynamisches Ersetzen PHP-Fortgeschrittene 5 23.07.2004 13:39
Reguläre Ausdrücke beim suchen und ersetzen Off-Topic Diskussionen 5 05.07.2004 15:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ä durch ae ersetzen, � ersetzen, php string untersuchen nach nicht ascii und ersetzen, javascript regex \ä durch ae\, ae durch ä ersetzen, � statt ä php, ä ersetzen ae, ucfirst &auml;, php ucfirst umlaute, print (iconv, php ersetzen �, php reguläre ausdrücke mehrfach ersetzen, php string umlaute durch ae oe ersetzen, array a und e durch * ersetzen, php ö zu oe, nicht us ascii zeichen ersetzen php, php ä ae ersetzten, php ö oe, Ö durch oe php, php ö durch oe ersetzen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.