PHP 8.5.0 Released!

Voting

: two plus five?
(Example: nine)

The Note You're Voting On

Q1712 at online dot ms
18 years ago
ucwords() only excepts whitespace in front of a word, although some chars like '"' or '(' normally have no space between them and the following word:
<?php
$title = 'ELVIS "THE KING" PRESLEY - (LET ME BE YOUR) TEDDY BEAR';
echo ucwords(strtolower($title));
?>
prints: Elvis "the King" Presley - (let Me Be Your) Teddy Bear
To avoid this i use a small function adding and deleting blanks behind these chars, and using ucwords() in between:
<?php
function my_ucwords($string)
 { 
 $noletters='"([/'; //add more if u need to
 for($i=0; $i<strlen($noletters); $i++)
 $string = str_replace($noletters[$i], $noletters[$i].' ', $string);
 $string=ucwords($string);
 for($i=0; $i<strlen($noletters); $i++)
 $string = str_replace($noletters[$i].' ', $noletters[$i], $string);
 return $string;
 }
$title = 'ELVIS "THE KING" PRESLEY - (LET ME BE YOUR) TEDDY BEAR';
echo my_ucwords(strtolower($title));
?>

prints: Elvis "The King" Presley - (Let Me Be Your) Teddy Bear

<< Back to user notes page

AltStyle によって変換されたページ (->オリジナル) /