3v4l.org

run code in 300+ PHP versions simultaneously
<?php function make_ascii($str) { //return $str; $special = array('ľ','š','č','ť','ž','ý','á','í','é','ú','ä','ô','ň','ě'); $ascii = array('l','s','c','t','z','y','a','i','e','u','a','o','n','e'); $str = array_map(function ($i) use ($str) { return mb_substr($str, $i, 1); }, range(0, mb_strlen($str) -1)); //$str = preg_split("//u",$str); foreach ($str as $k => $c) { if( mb_strtoupper($c, "UTF-8") == $c) { $u = true; $c = mb_strtolower($c); } else { $u = false; } // print_r($c); if(in_array($c, $special)) { $c = $ascii[array_search($c, $special)]; } if($u) { $c = mb_strtoupper($c); } $str[$k] = $c; } return join($str); } $str = "ľÁľa ýellow"; var_dump(make_ascii($str));

preferences:
106.68 ms | 414 KiB | 5 Q