3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = 'Testing giving dancing 喝 喝 passing 制图 giving 跑步 吃'; // split by a space into an array $explosion = explode(' ', $string); $normalWords = []; $chineseWords = []; // loop through the array foreach ($explosion as $debris) { // if not normal alphabet characters if (!preg_match('#[a-zA-Z]+#', $debris) && !in_array($debris, $chineseWords)) { // add to chinese words array if not already in the array $chineseWords[] = $debris; } elseif (preg_match('#[a-zA-Z]+#', $debris) && !in_array($debris, $normalWords)) { // add to normal words array if not already in the array $normalWords[] = $debris; } } // reverse the chinese characters like you wanted $chineseWords = array_reverse($chineseWords); // Piece it all back together $string = implode(' ', $normalWords) . ' ' . implode(' ', $chineseWords); // and output echo $string;

preferences:
44.54 ms | 402 KiB | 5 Q