J’ai essayé un samedi soir de trouver une solution automatique pour adopter la direction WordPress avec la langue du post utilisée… malheureusement je me suis heurté à plein d’obstacles et il était obligatoire de faire des changement dans le thème utilisé pour avoir le bon affichage.
Avec cette intervention humaine, j’ai perdu l’intérêt principal de mon plugin (le fait d’automatiser la procédure) et j’ai laisser tomber sa mise à jour (une solution basée sur les custom fields + petite modif dans le thème est nettement meilleure à mon avis).
Pour que ma recherche ne soit pas totalement inutile, voila au moins la fonction PHP principale sur la quelle le plugin se base.
C’est une synthèse d’une recherche infernale sur Google et j’espère via ce poste qu’elle soit mieux référencée au cas où une autre personne aura le même besoin
<?php function getDirection($content) { $ltrCharchters = 'A-Za-z\x{00C0}-\x{00D6}\x{00D8}-\x{00F6}\x{00F8}-\x{02B8}\x{0300}-\x{0590}\x{0800}-\x{1FFF}\x{2C00}-\x{FB1C}\x{FDFE}-\x{FE6F}\x{FEFD}-\x{FFFF}'; $rtlCharchters = '\x{0591}-\x{07FF}\x{FB1D}-\x{FDFD}\x{FE70}-\x{FEFC}'; $pMarks = '\p{P}'; $space = '\s'; if (!preg_match("/[^".$space.$pMarks.$rtlCharchters."]/u" , $content)) { return 'rtl' ; } elseif (!preg_match("/[^".$space.$pMarks.$ltrCharchters."]/u" , $content)) { return 'ltr'; } else { return '0 '; } } $test1 = "عقول أغافكس الجيكية"; $test2 = "Agafix Geeky Minds"; $test3 = "أغافكس مشتقات من اغادير !!!"; echo $test1 . " -> ".getDirection($test1)."\n"; echo $test2 . " -> ".getDirection($test2)."\n"; echo $test3 . " -> ".getDirection($test3)."\n"; ?>
Ce code donne comme résultat :
عقول أغافكس الجيكية -> rtl Agafix Geeky Minds -> ltr أغافكس مشتقات من اغادير !!! -> rtl

Feel free to use it, spread it or whatever

























October 20th, 2009
at 16:05
Allez courage! tu vas y arriver
November 12th, 2009
at 09:34
oui bonne chance…
le mot(مشتقات)exprime bien ton esprit mathématique…je préfére (منحدرة)…
Bonne journée