• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

erster Buchstabe groß

Tomm

Mitglied
Hallo,

ich hab mehrere Strings,die automatisch in die Datenbank eingelesen werde.
Dabei soll der erste Buchstabe jedes Wortes gross geschrieben werden
ich hab das so probiert,aber dann ist nur das erste Wort groß,es sollen aber alle Wörter groß geschrieben werden
PHP:
$string="TEST STRING";
$string= ucfirst(strtolower($string));
echo $string;
"Test string"

es soll aber so da stehen

"Test String"
 
Werbung:
ucwords() ist die Funktion die du brauchst.
Hat aber stolperfallen in Doppelnamen oder anderen Wortkonstrukten mit Bindestrich.
 
Werbung:
Werbung:
Fiiies. ;) (Im Ernst, die ist doch ganz okay.)

Mir scheint es so, als wäre das ein Versuch, sowas (Writer's Block - Writing Tips - Capitalization in Titles) für das Deutsche umzusetzen. Wir machen das aber nicht.

Hier dennoch mal ein Ansatz mit PCRE.

PHP:
<?php // Datei-Encoding: UTF-8

error_reporting(-1);

mb_internal_encoding('UTF-8');

$input = 'Haus unter den Palmen für und Abend unterhaltend aufgeschlossen.';

$stopwords = array('und', 'für');

$cb = function ($matches) use ($stopwords) {
    if (in_array(mb_strtolower($matches[0]), $stopwords)) {
        return mb_strtolower($matches[0]);
    }
    
    return mb_strtoupper(mb_substr($matches[0], 0, 1)) . mb_substr($matches[0], 1);
};

$output = preg_replace_callback('/\pL+/u', $cb, $input);

var_dump($input, $output);

- PHP: Unicode character properties - Manual
 
Werbung:
Zurück
Oben