Aktueller Standort: Startseite> Neueste Artikel> So verwenden Sie die Funktion ucWords, um lange Zeichenfolgen zu ändern, die Räume und Unterbrechungen enthalten, um einen idealen Falleffekt zu erzielen?

So verwenden Sie die Funktion ucWords, um lange Zeichenfolgen zu ändern, die Räume und Unterbrechungen enthalten, um einen idealen Falleffekt zu erzielen?

M66 2025-06-22

In PHP ist die UCWords -Funktion eine gemeinsame Methode, mit der der erste Buchstabe jedes Wortes in einer Zeichenfolge in Großbuchstaben umwandelt wird. Sein Standardverhalten besteht darin, Wörter nach Leerzeichen zu trennen, aber UCWords erreichen möglicherweise keinen idealen Falleffekt, wenn die Zeichenfolge Interpunktionsmarken oder andere nicht-alphabetische Zeichen enthält. In diesem Artikel wird erläutert, wie UCWords in Kombination mit anderen Techniken verwendet werden, um lange Zeichenfolgen zu verarbeiten, die Räume und Unterbrechungen enthalten, um eine genauere Fallkonvertierung zu erreichen.

1. Grundnutzung von UCWords

UCWords nutzen nur den Anfangsbuchstaben eines Wortes, das durch Leerzeichen getrennt ist. Zum Beispiel:

 <?php
$str = "hello world! this is php.";
echo ucwords($str);
?>

Ausgabe:

 Hello World! This Is Php.

Wie Sie sehen können, werden die Buchstaben, die dem Interpunktionszeichen folgen, ebenfalls korrekt verarbeitet, aber UCWords verarbeiten sie nicht automatisch, wenn die Zeichenfolge andere Interpunktionsmarken wie Bindestriche oder Apostrophes enthält.

2. Der zweite Parameter von UCWORDS - Definieren Sie das Wortabscheider (PHP 5.4+)

Ab PHP 5.4 unterstützt die UCWords -Funktion einen zweiten Parameter, um zu definieren, welche Zeichen als Worttrennzeichen verwendet werden. Zum Beispiel:

 <?php
$str = "jack-o'-lantern's day";
echo ucwords($str, " -'");
?>

Ausgabe:

 Jack-O'-Lantern'S Day

Leerzeichen, Bindestriche und Apostrophes werden hier als Grenzwerte angegeben, so dass der erste Buchstabe nach jedem Trennzeichen ebenfalls in Großbuchstaben umgewandelt wird.

3. Kombinieren Sie reguläre Ausdrücke, um eine flexiblere Fallumwandlung zu erreichen

Wenn die Stringstruktur komplex ist und sich ausschließlich auf UCWords stützt, können Sie den ersten Buchstaben jedes Wortes in Kombination mit regulären Ausdrücken konvertieren:

 <?php
$str = "this is a complex-string, isn't it? yes!";

$callback = function ($matches) {
    return strtoupper($matches[1]) . strtolower(substr($matches[0], 1));
};

$result = preg_replace_callback('/\b\w/u', $callback, $str);

echo $result;
?>

Ausgabe:

 This Is A Complex-String, Isn't It? Yes!

Dieser Code verwendet preg_replace_callback , um den ersten Buchstaben jedes Wortes für die Umwandlung von Großbuchstaben zu finden und gleichzeitig die verbleibenden Kleinbuchstaben sicherzustellen.

4. Vollständiges Beispiel: Kombinieren Sie UCWords und benutzerdefinierte Separatoren

 <?php
$str = "welcome to the m66.net-php tutorial, let's learn ucwords!";

echo ucwords($str, " -'");

?>

Ausgabe: