Zitat von j.durini
Beitrag anzeigen
Zitat von christiancg80
Beitrag anzeigen
Aus
PHP-Code:
$str = preg_replace('/\\b(\\w)/eu', 'strtoupper("$1")', strtolower(trim($str)));
PHP-Code:
preg_replace_callback(
// PCRE ohne den /e-Modifier
'/\\b(\\w)/u',
// die anonyme (weil ohne Namen) Callback-Funktion
function ($hits) {
// es wird das gesamte Treffer-Array übergeben
// um bspw. $1 wie beim /e-Beispiel zu holen,
// referenzierst du den entsprechend nummerierten Array-Eintrag
return strtoupper($hits[1]);
},
// bleibt wie gehabt: Vorbereitung des Eingabe-Strings
strtolower(trim($str))
);
Beim Bau der Ersetzen-Funktion ("Callback") ist es hilfreich, sich das Treffer-Array anzeigen zu lassen. So bekommst du schneller einen Überblick, was die RegEx-Suche gefunden hat.
Kommentar