Does anyone have a multibyte variant of the strtr()
function?
Example of desired usage:
Example: $from = 'ľľščťžýáíŕďňäô'; // these chars are in UTF-8 $to = 'llsctzyairdnao'; // input - in UTF-8 $str = 'Kŕdeľ ďatľov učí koňa žrať kôru.'; $str = mb_strtr( $str, $from, $to ); // output - str without diacritic // $str = 'Krdel datlov uci kona zrat koru.';
I believe
strtr
is multi-byte safe, either way sincestr_replace
is multi-byte safe you could wrap it:Since there is no
mb_str_split
function you also need to write your own (usingmb_substr
andmb_strlen
), or you could just use the PHP UTF-8 implementation (changed slightly):However if you're looking for a function to remove all (latin?) accentuations from a string you might find the following function useful: