و عليكم السلام و رحمة الله و بركاته
كتبت دالة على السريع و أتمنى تشتغل معاك 
كود PHP:
function AutoAlignment($string) {
$alignedString = "";
$span = false;
$words = preg_split("/[\s]+/", $string);
for ($count = 0; $count < count($words); $count++) {
if ( preg_match("/\p{Latin}/u",$words[$count]) ) {
$append = ($span) ? " " : " <span dir='ltr'>";
$alignedString .= $append . $words[$count];
$span = true;
}
else {
if ( $span ) {
$alignedString .= "</span>";
$span = false;
}
$alignedString .= " " . $words[$count];
}
}
return ($span) ? $alignedString."</span>" : $alignedString;
}
طريقة عملها باختصار:
- تقوم بتقسيم الجمل إلى عناصر مصفوفة. كل عنصر عبارة عن كلمة
- المرور على كلمة كلمة، و إذا كانت الكلمة مكتوبة بلغة لاتينية، تقوم الدالة بإلحاق span dir=ltr قبل الكلمة
- و إذا انتهى تسلسل الكلمات اللاتينية (يمكن تكون جملة أو كلمة)، تقوم الدالة بإغلاق الـ span
- بالنسبة للعلامات، فهي دائما تلحق ما قبلها. يعني لازم تكون مربوطة بالكلمة اللي قبلها. و هذه من شروط أي لغة

مدخلات الدالة: الـ string اللي فيه الجملة اللي تبغى تضبطها
يعني "انا محمد وهو mohammed !"
أتوقع بتشتغل معاك مع الفرنسي لأنه الفرنسي برضه لاتيني و لا :P؟؟ ترا ما أعرف
هذه بشكل سريع لأني ما نمت إلا ساعتين
أصحصحلك و أعدلها، فيه كلام مكرر و يبغاله تحسين 
على فكرة: طريقة عمل الدالة مقتبسة من اللي قريته من ردود الموضوع
من أشرف و مستر سمعة
رائد