Remplacer des expressions par des caractères [PHP-RegEx] - PHP - Programmation
Marsh Posté le 10-02-2011 à 15:45:13
Salut !
Code :
|
Dans le premier tableau, tu auras plein de "\" pour échapper tous les caractères spéciaux. A toi de te documenter sur les caractères spéciaux dans les expressions régulières (Je pense ne pas avoir fait d'erreur dans les deux premiers, à vérifier !)
Marsh Posté le 10-02-2011 à 15:46:22
Merci beaucoup pour ton aide!!! Je vais me renseigner pour les caractères spéciaux, c'est très sympa de ta part en tout cas.
Marsh Posté le 10-02-2011 à 15:47:42
Vu qu'il n'y a pas de règles particulières de format, le regexp n'est pas vraiment utile, un simple str_replace suffit
dans la doc php :
Code :
|
Marsh Posté le 10-02-2011 à 15:58:59
Bon, c'est du PHP, donc ça doit être compatible avec les modules perl, sinon, tu adaptes, mais ça doit être assez transparent.
Utilises le module suivant: Tex::Encode qui a une procédure qui convertit une chaine Tex en chaine utf8, et bosses a partir du utf8.
Note: ce genre de chose, j'en ai fait beaucoup. Il y a toujours des symboles TeX sans équivalent utf8 qui surgissent (ou sans équivalents supportés par le convertisseur, a améliorer, il y a encore des TODO dans son source), bon, dans les bibtex, on peut espérer que c'est pas courant, donc il faut toujours récupérer les messages d'erreur pour voir ce qui ne pas pas, et améliorer le système au fur et a mesure.
Cette liste ci est un poil plus complète: http://www.cs.wm.edu/~mliskov/texsymbols.pdf
A+,
Marsh Posté le 10-02-2011 à 16:22:44
gilou a écrit : Bon, c'est du PHP, donc ça doit être compatible avec les modules perl, sinon, tu adaptes, mais ça doit être assez transparent. |
Merci beaucoup pour ton aide, je pense effectivement qu'il peut être plus judicieux d'utiliser le module perl, ou au moins adapter son code en PHP, plutôt que de tout faire à la main :-P
Et merci pour la liste, en effet elle est plus complète, même si la majorité des pages concerne les symboles mathématiques dont je n'ai - à priori - pas besoin.
Marsh Posté le 10-02-2011 à 15:09:32
Bonjour,
Mon titre n'est pas très clair donc je m'explique: je suis en train d'écrire une classe PHP qui permet de gérer des bibliographies au format BibTeX.
Pour l'instant je parse les fichiers BibTeX, les convertit en XML, puis à partir de là les insère en base de données. Le problème est que les données contenues dans les fichiers BibTeX sont échappées (au format BibTeX). J'ai donc besoin de les dés-échapper.
J'ai trouvé une page qui liste les différents caractères spéciaux et l'échappement correspondant en BibTeX (voir ici), et maintenant il me reste à traiter les données pour remplacer les échappements listés sur la page par les caractères spéciaux correspondant.
J'avoue que je suis incapable d'écrire moi-même une expression régulière (il faudra bien que je m'y mette un jour...), donc est-ce que quelqu'un aurait une solution à mon problème ?
Merci d'avance!
A+