Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] AE durch ä ersetzen, OE durch ö, usw...

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [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?

  • #2
    Re: AE durch � ersetzen, OE durch �, usw...

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

    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.

    Kann mir wer sagen, wieso das nicht geht?
    a. wer sollte Deine Fehler kennen?
    b. tolle Fehlerbeschreibung.

    Kommentar


    • #3
      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

      Kommentar


      • #4
        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

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

        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

        a. wer sollte Deine Fehler kennen?
        b. tolle Fehlerbeschreibung.
        a) Der Fehler ist angegeben:
        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.

        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.

        Kommentar


        • #5
          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

          Kommentar


          • #6
            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 !!!!!!

            dir sollte klar sein, dass nicht jedes ae oe ue ein umlaut ist, unter umständen verhunst du dir deine texte damit

            Kommentar


            • #7
              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
              Dumme Antworten bekomm ich auch von meiner Zimmertür.
              Wenn Du die genauso fragst, tut die mir echt leid.

              Kommentar


              • #8
                @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

                Kommentar


                • #9
                  Hi.

                  Zitat von sebbl
                  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

                  Kommentar


                  • #10
                    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.

                    Kommentar


                    • #11
                      [quote="Catweazle"]
                      Zitat von sebbl
                      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
                      Er kann sich natürlich einen Zettel an den Monitor kleben, auf dem steht: "Keine Wörter mit ae, oe und ue als Seitennamen verwenden", aber das ist doch alles andere als Sauber. Später kommt dann mal ein "ß" dazu, ein Apostroph, Anführungsstriche oder was man sonst noch alles im Seitentitel haben möchte.

                      Das sind mir aber einfach zu wenige Infos, um hier konstruktive Vorschläge machen zu können.

                      Basti

                      Kommentar

                      Lädt...
                      X