"It's" / "It’s" * - Handles McX… (McDonald), plus MacD/MacV exceptions (MacD…, MacV…). * - Preserves “intentional” mixed-case tokens like iPhone/eBay as-is. * - Preserves all-caps acronyms in title/address mode (but not in name mode). * * Notes: * - This intentionally does NOT do stripcslashes()/stripslashes(). That behavior is usually surprising. * - For best Unicode casing results, install/enable ext-mbstring; otherwise it falls back to ASCII-ish behavior. */ function titleCase( string $input, bool $isName = false, string $encoding = 'UTF-8', ?Overrides $overrides = null ): string { return (new Internal\CapitalizerEngine($isName, $encoding, $overrides))->run($input); } function nameCase(string $input, string $encoding = 'UTF-8', ?Overrides $overrides = null): string { return titleCase($input, true, $encoding, $overrides); }