UCWords nutzen nur den ersten Buchstaben eines Wortes, das standardmäßig durch Leerzeichen getrennt ist. Wenn jedoch andere Separatoren in der Zeichenfolge vorhanden sind, z.
<?php
$title = "my-php_script example";
$formatted = ucwords($title);
echo $formatted; // Ausgabe:My-php_script Example
?>
Zu diesem Zeitpunkt befindet sich "PHP_Script" noch in Kleinbuchstaben und ist nicht korrekt formatiert.
Vermeidungsmethode : Sie können das Trennzeichen anpassen oder zuerst andere Trennzeichen durch Leerzeichen ersetzen und dann nach der Verarbeitung wiederherstellen.
<?php
function ucwords_custom($string, $delimiters = ['-', '_']) {
foreach ($delimiters as $delimiter) {
$string = str_replace($delimiter, ' ', $string);
}
$string = ucwords($string);
foreach ($delimiters as $delimiter) {
$string = str_replace(' ', $delimiter, $string);
}
return $string;
}
echo ucwords_custom("my-php_script example"); // Ausgabe:My-PHP_Script Example
?>
Wenn die Eingangszeichenfolge bereits teilweise oder vollständig aktiviert ist, kann die Verwendung von UCWords direkt in den Ergebnissen zu Verwirrung führen.
<?php
$title = "tHe quick bROWN foX";
$formatted = ucwords($title);
echo $formatted; // Ausgabe:THe Quick BROWN FoX
?>
Zu diesem Zeitpunkt werden einige Wörter immer noch mit dem oberen und unteren Fall gemischt, und das Titelformat wird nicht erreicht.
Vermeiden Sie : Vereinen Sie die Zeichenfolge zuerst in alle Kleinbuchstaben und verwenden Sie dann UCWords .
<?php
$title = "tHe quick bROWN foX";
$formatted = ucwords(strtolower($title));
echo $formatted; // Ausgabe:The Quick Brown Fox
?>
UCWords funktioniert gut mit einfachem Text. Wenn die Zeichenfolge jedoch HTML -Tags oder URLs enthält, zerstört das Aufrufen direkt die Tags und Links.
<?php
$title = 'visit <a href="https://gitbox.net/path">our site</a>';
echo ucwords($title);
// Das Ergebnis sind fehlerhafte Etiketten,werden Visit <A Href="Https://Gitbox.Net/Path">Our Site</A>
?>
Vermeiden Sie : Sie können zuerst die Tags extrahieren, die Textteile verarbeiten, dann zurückspleißen oder die URL schützen. Ein einfacher Weg ist, HTML -Tags zu überspringen.
<?php
function ucwords_without_tags($text) {
return preg_replace_callback('/([^<>]+)(?=<|$)/', function($matches) {
return ucwords(strtolower($matches[1]));
}, $text);
}
echo ucwords_without_tags('visit <a href="https://gitbox.net/path">our site</a>');
// Ausgabe:Visit <a href="https://gitbox.net/path">Our Site</a>
?>