le 09/01/2005 à 22:51
Fonction de filtrage de langue ?
Bonjour,
Je suis en train de travailler sur un mod de dotclear (blogware) pour essayer d'améliorer la gestion de la multilocalisation. Ce dont j'ai besoin, c'est d'une fonction capable de filtrer une chaine (potentiellement sur plusieurs lignes) de façon à ne garder que :
- les éléments dont la langue n'est pas spécifiée
- les éléments dont la langue est spécifiée et qui correspondent à la langue passée en paramètre
Pour ceux qui connaissent le CMS Xoops, c'est ce que fait le hack de langues mais le code est trop touffu et je ne retrouve pas la fonction.
L'idée est que ma fonction doit ressembler à ça :
chaîne function filter_language($langue,$chaine)
Exemple d'appel :
filter_language('fr','<div>[fr]Je teste[/fr][en] to see if it works[/en] bien comme il faut<div>')
devrait retourner :
<div>Je teste bien comme il faut</div>
Le hic c'est que je suis absolument nul avec les expressions régulières et là le schéma m'a l'air un peu costaud puisqu'il faut que je supprime de la chaine les éléments qui NE RESPECTENT PAS mon pattern... et là tout s'embrouille.
Pour ce qui est de la spécification de la langue, le coup des balises style BB-code ce n'est qu'un exemple et j'hésite encore entre ça et l'utilisation de l'attribut xml:lang.
Quelqu'un pourrait-il m'aider, me donner au moins un point de départ, une référence, un truc qui pourrait me permettre de faire ça bien ?
Merci d'avance
rozwel
Je suis en train de travailler sur un mod de dotclear (blogware) pour essayer d'améliorer la gestion de la multilocalisation. Ce dont j'ai besoin, c'est d'une fonction capable de filtrer une chaine (potentiellement sur plusieurs lignes) de façon à ne garder que :
- les éléments dont la langue n'est pas spécifiée
- les éléments dont la langue est spécifiée et qui correspondent à la langue passée en paramètre
Pour ceux qui connaissent le CMS Xoops, c'est ce que fait le hack de langues mais le code est trop touffu et je ne retrouve pas la fonction.
L'idée est que ma fonction doit ressembler à ça :
chaîne function filter_language($langue,$chaine)
Exemple d'appel :
filter_language('fr','<div>[fr]Je teste[/fr][en] to see if it works[/en] bien comme il faut<div>')
devrait retourner :
<div>Je teste bien comme il faut</div>
Le hic c'est que je suis absolument nul avec les expressions régulières et là le schéma m'a l'air un peu costaud puisqu'il faut que je supprime de la chaine les éléments qui NE RESPECTENT PAS mon pattern... et là tout s'embrouille.
Pour ce qui est de la spécification de la langue, le coup des balises style BB-code ce n'est qu'un exemple et j'hésite encore entre ça et l'utilisation de l'attribut xml:lang.
Quelqu'un pourrait-il m'aider, me donner au moins un point de départ, une référence, un truc qui pourrait me permettre de faire ça bien ?
Merci d'avance
rozwel