|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 30 ![]() |
Bonjour!
je bosse sur un projet d'import et d'exports de sous-titres vidéos, dans le quel j'ai été emmené a créer à partir de fichiers xml existants les fichiers rtf correspondants! Maintenant je dois réaliser la fonction inverse c'est à dire générer des fichiers XML à partir de mes fichiers rtf !voila pour ce qui est du contexte! Mon problème c'est que qu' avec des les lignes de fichiers rtf que je récupère en faisant un fgets() de mon fichier je reçois les lignes avec les tag rtf! je veux don savoir si il existe une fonction qui me permette d'afficher une ligne contenant les tags rtf en claire! ou plus simplement quelqun connait il un moyen d'afficher en clair la ligne codée en rtf qui suit : -\uc0\u160 Bonjour.\uc0\u160 Comment\uc0\u160 \uc0\u231 a\uc0\u160 va\uc0\u160 ?Boboifb\uc0\u244 n^kn\uc0\u168 KNVKNNLLjjllllllllaqpljiojfzoi |
|
|
00
|
|
|
#2 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Mon ami google m'a fourni une solution à ton problème: http://www.webcheatsheet.com/php/rea...t_from_rtf.php
Ah ce google, on peut toujours compter sur lui
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
un petit coup de json_decode et ça roule
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#4 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Comment ça json_decode ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 30 ![]() |
mer6!
mais mon véritable souscis n'est pas de pouvoir différencier les tags du text clair; le truc c'est que je veux savoir à quels caracteres \uc0\u160 \uc0 je sais qu'il sert en quelque sorte de compteur quon réinitialise! mais \u160 correspond à un caractere spécial! mais je ne sais le quel si quelqun pouvait me donner un lien ou on en parle!(je cherche aussi de mon coté sur google). thanks a lot! |
|
|
00
|
|
|
#6 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
ouai non visiblement il aime pas c'est pas dans bon encdoage utf8, puisque json encode lui les caractère utf8 de cette facon :
héhé -> h\u00e9h\u00e9 EDIT : un coup de PCRE et c'est bon tu me diras : Code :
__________________
http://blog.stealth35.com/ |
||
|
|
10
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 30 ![]() |
thanks ça marche impeccable!
t'es vraiment fortish! mais stp tu peux m'expliquer dans le deuxième paramètre de preg replace quand qu fais chr($1): a quoi fait référence $1 n'hésite pas à m'expliquer toute l'instruction preg_reeplace surtout les deux premiers paramètres (l'expression à rechercher "'/\\\uc0\\\u([a-z0-9](jusque là ça va mais la suite...){1,3})\s/e'" et l''expression chr($1) par la quelle tu remplaces! je suis un stagiaire ce projet me permet de faire mes dents en php si tu peux m'aider à devenir presque aussi fort que toi ça serait tres cool! |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
dans l'expression on va prendre juste le 160 dans "\uc0\u160 "
on lui donne le groupe 1, ensuite l'option e permet de faire un eval, ducoup on fait chr(160)
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#9 | |||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 30 ![]() |
stealth35
j'ai toujours un problème j'essaye de l'appliquer à d'autres lignes de mon fichier mais ça ne marche pas je te montre un exemple : Code php :
et il m'affiche toujours ça : Citation:
|
|||
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
change par : /\\\uc0\\\u(\d+)\s/e
mais bon la c'est plus des caractère ascii...
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 30 ![]() |
u as raison ce ne sont pas des caracteres ascii c'est des caracteres japonais le resultat que j'attends c'est ça :
Ligne*en*jaune.Bonjourフランソワ・ラブレーの et ce que j'obtiens avec ta derniere suggestion c'est : Ligne en jaune.BonjourÕéó½ïûéÖìü\uc0\u12398 |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 30 ![]() |
Je suis blocqué dans mon projet pour le stage j'ai absolument besoin de savoir qu'elle fonction utilisée et commrent l'utiliser pour afficher le caractere correspondant au code unicode : u12501 c'est un caractere jecrois japonais!
ce caractere n'est pas un ascii alors je ne crois pas que la fonction chr() puisse etre utilisée! merci f'avance! |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 30 ![]() |
Finalement j'ai trouvé la réponse chr() ne prennant en chargeles caracteres ascii on crée une petite fonction qui sera l'extension de chr que nous appellerons uchr()
dont le code est le le suivant function uchr ($codes) { if (is_scalar($codes)) $codes= func_get_args(); $str= ''; foreach ($codes as $code) $str.= html_entity_decode('&#'.$code.';',ENT_NOQUOTES,'UTF-8'); return $str; } et apres dans notre example que je vous avais donné pour les caracteres japonais ça peut procéder ainsi: $str1='Ligne\uc0\u160 en\uc0\u160 jaune.Bonjour\uc0\u12501 \uc0\u12521 \uc0\u12531 \uc0\u12477 \uc0\u12527 \uc0\u12539 \uc0\u12521 \uc0\u12502 \uc0\u12524 \uc0\u12540 '; $dec = preg_replace('/\\\uc0\\\u([a-z0-9]{1,5})\s/e', 'uchr(\'$1\')', $str1); et voila apres on peut aprécier le résultat avec echo $dec; // ça devrait donner un truc du genre : Ligne en jaune.Bonjourフランソワ・ラブレー |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com