String Formatierung

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

  • String Formatierung

    Hallo!

    Ich habe folgendes Anliegen,

    ich möchte einen String formatieren.

    Z.B. MUSTERMANN-MUSTER

    Daraus soll Mustermann-Muster werden.

    Bisher meine Funktion:
    PHP-Code:
    function nachname_format($text_string)
    {

    $text_string trim($text_string);
    $text_string preg_replace('#  +#',' ',$text_string);  
    $text_string_split preg_split("/[\s]+/"$text_string);
    $text_string_neu "";
    foreach(
    $text_string_split AS $key => $val)
    {
        
    $val utf8_decode($val);  
        
    $string_lng mb_strlen($val'UTF-8');
        for(
    $i=0$i<$string_lng$i++)
        {
            
    $val_sting substr($val$i1);
            
    $val_sting utf8_encode($val_sting);
            if(
    $i >= AND ctype_upper($val_sting))
            {
                
    $val_sting strtolower($val_sting);
            }
            
    $text_string_neu .= $val_sting;
            if((
    $i+1) == $string_lng)
            {
    $text_string_neu .= " "; }
        }
    }
    $text_string_neu trim($text_string_neu);    

    return 
    $text_string_neu;

    Wie kann ich das realisieren?

    Danke!
    Beachte: Dumm ist, wer Dummes tut.

  • #2
    PHP-Code:
    $text 'MUSTERMANN-MUSTER';

    $newText preg_replace_callback(
        
    '/(*UTF8)(?<=\\P{L}|^)\\p{L}/',
        function (
    $match) {
            return 
    mb_strtoupper($match[0], 'UTF-8');
        },
        
    mb_strtolower($text'UTF-8')
    );

    echo 
    $newText;
    // Mustermann-Muster 
    Zuletzt geändert von h3ll; 15.08.2017, 10:59.

    Kommentar


    • #3
      WOW! Super! und so schnell! Danke!

      Klappt.
      Beachte: Dumm ist, wer Dummes tut.

      Kommentar


      • #4
        PHP-Code:
        $str 'MUSTERMANN-MUSTER';
        echo 
        $str."<br>";
        $str ucwords(strtolower($str) , '-');
        echo 
        $str."<br>"

        Kommentar


        • #5
          Hallo!

          Danke h3ll, das Script klappt gut.

          Ein Kollge sagte nun, was passiert denn bei dem Namen MacDonald

          Probiert und des wurde, klar logisch, Macdonald.

          Kann ich das irgendwie verhindern?

          Mit einer schleife die den vorherigen und den nachfolgdenen Buchstaben prüft, ob klein, dann darf auch ein einzelner Groß bleiben?
          Beachte: Dumm ist, wer Dummes tut.

          Kommentar


          • #6
            Vielleicht solltest du die Anforderungen erst mal klar definieren, bevor man jetzt jedesmal den Code über den Haufen wirft und neu schreibt.

            Kommentar

            Lädt...
            X