Please consider my RFC for locale-independent case conversion. https://wiki.php.net/rfc/strtolower-ascii https://github.com/php/php-src/pull/7506
The RFC and associated PR ended up going some way beyond the original scope, because for consistency, it's best if everything has the same concept of case folding. I saw this as an opportunity to clean up a common kind of locale-dependence in PHP which was previously inconsistent. So not only will strtolower() and strtoupper() become locale-independent, converting only ASCII, but also stristr, stripos, strripos, lcfirst, ucfirst, ucwords, str_ireplace, the array sorting functions with SORT_FLAG_CASE, and array_change_key_case. Also, I changed a number of internal functions to use ASCII case folding, giving rise to a range of effects in callers throughout the core tree. The effects are all documented in the RFC. I am proposing that locale-sensitive case conversion be provided with the new names ctype_tolower() and ctype_toupper(). Those names might seem odd at first glance, but they are wrappers for functions in ctype.h and work in a very similar way to the rest of the ctype extension. -- Tim Starling -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php