3v4l.org

run code in 300+ PHP versions simultaneously
<?php function reverseEnglishWords($string) { return preg_replace_callback('/(?!\s)[^\p{Arabic}\r\n]+/u', function ($m) { $tmp = preg_replace_callback('~(\w+)([^\w\s]+)~', function($n) { return strrev($n[2]) . $n[1]; }, $m[0]); return implode(" ", array_reverse( preg_split('~\s+~u', $tmp, -1, PREG_SPLIT_NO_EMPTY) ) ); }, $string); } $s = " این یک تست جدید است Is my English line working just fine? I hope it does... Another one?! این یک جمله جدید است and this is to be continued in English... "; echo reverseEnglishWords($s);

preferences:
32.22 ms | 408 KiB | 5 Q