Php variable "quote "

Fermé
ixce Messages postés 51 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 17 décembre 2008 - 15 mai 2008 à 15:42
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 15 mai 2008 à 18:36
Bonjour,

voila j'ai un piti souci(comm beaucoup de monde ici)

mon objectif est de decompresser un bloc en php. ce bloc est donc inscrit dans une variable.mais ce bloc contient tous les caracteres alphanumerik ke je connais, dont les ' et les "".Ce qui a un rendu foireux sur ma variable.

ma question est comment renforcer le role des "" qui encadre la chaine pour que ceux a linterieur ne membete plus.

javais pensé a remplacer les " par des /" mais étant donné que le contenu de la chaine ne doit etre modifié...bah je sais pas koi faire.

3 réponses

Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
15 mai 2008 à 16:00
tu peux nous filer un exemple pour ton bloc? j'ai un peu de mal à comprendre exactement ce qu'il se passe^o)
0
ixce Messages postés 51 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 17 décembre 2008 3
15 mai 2008 à 16:12
mon projet est de synchroniser des bases de données en php.
un premier outil qui ma été imposé, collecte toutes les requetes de mises a jours a faire dans un bloc de texte comme celui ci:

M|Code='3C3C10220-ME'|1|3C3C10220-ME| |ETHERNET POWER SOURCE|U|04.94.|False|579860|0|0|1250|724825|866891|144965|200|0|0|0|0|0|0|1|D|0|0|0|0|0|Unité|Unité|1000|12-PORT||INGRAM|3825666|||1|2003-11-12 19:17:39|2003-12-03 03:46:56|2003-12-03 03:39:27|True|1000|0|0|0|0|0||3COM|3C10220-ME |NS|NMS |||||||||||||||||||||||||||||1|M
M|Code='3C3C10222-ME'|2|3C3C10222-ME| |ETHERNET POWER SOURCE|U|04.94.|False|1092670|0|0|1250|1365838|1633542|273168|200|0|0|0|0|0|0|1|D|0|0|0|0|0|Unité|Unité|1000|24-PORT||INGRAM|3825667|||1|2003-11-12 19:17:39|2003-12-03 03:46:56|2003-12-03 03:46:56|True|1000|0|0|0|0|0||3COM|3C10222-ME |NS|NMS |||||||||||||||||||||||||||||2|M
M|Code='3C3C12063'|3|3C3C12063| |TP TRANSCEIVER INTERFACE|U|04.40.|False|61630|0|0|1250|77038|92137|15408|200|0|0|0|0|0|0|1|D|0|0|0|0|0|Unité|Unité|1000|MODULE 1 RJ-45||INGRAM|3820678|||1|2003-11-12 19:17:33|2003-12-03 03:46:54|2003-12-03 03:46:54|True|1000|0|0|0|0|0||3COM|3C12063 |UK|NMS |||||||||||||||||||||||||||||3|M

parce que lensemble des requetes fait son petit poids, pour accelerer la mise a jour ces requetes sont compresses a laide de la bibliotheque zlib, donnant ce résultat:

…ûGñyËsSc¿Î?·¯«â¼º”»ÝöRºü·½Z½ƒ3ïÌÛ>ôÞ' IÕ-4èáGS\vN¯È3­"ò\Hœª (3 6+KòY_•9òöÎ],ó©M‡¤ E,WÑp™E]’>êî¼KÚB»à=‚}H‰UF*pn01x—º êpŒôÆØ'wÂဿ4¿Á —Ä#°l*3R™'Ü%íAîEŒdUû"×bä]š”Så℃h­1¯£Ò_§µ„áiz]øÂŒç*ˆ’õ0öQ#É«ö9d û8ƆFå‚΀=ñ°TÂE³LЖó…Ú$VK¶0ç¹ÉY’÷pöz¡Uûœ2IY.¼ùÇû#tÆÄ„ÌôÁ)[hp0šµKWf ì·—ô®ôiµ=>ôÁ°Ñ½.L5SW‘¢‡½·ö¥¬Úç€=’ÜÑBz¹s«#/®°ìÿJZáZóÂ%p+sük[¿Á)קU¡%yÑ&ÕTÄÂàÍ\ð©õYb^¶ï¬Oÿœ/>»ËêGYœÊ×Ý
»2áŸÊf3óøÀ ×WEj
âÉªì´ KÆLeŒ|ntß— ø¶¡z¢¥]0XáiÌDÚ¥jH;³Ó=¶'Üj ç á}¬<hځŽK#¶ôÀºz%+LÈHUAMïÚ, Z¥œ'€N-Î㪩h“Îâôϝ01ÄfÏÛK{gzÎêüë\}—WÑæÊ} ŸêÂjÅ?#k&'ˆÙ»6ŒÜS™‰ÜdÈ›ri«ö9@Ž¼º.zß¿*GGŒŠO^ð–|A«ò+PŠØ;»¦bQÖy½ÏØÜ9i{X{[‘ª}Y[zãxƒú•»Cn1¡ìE8Üü™ªˆ²ß r¹0r6óx+’!o’n­Úç9ÎÞmßË=pÔMŽ‡ëé~àG¸i£|­6MñÅ•a½f^-
~~F®¢ø&H±ª}À3¢—9ë¡(ö\%ÙC]JÅÞ]´±4§‹RÏ“‰ÆZBŠeÔ·¯5u^µÏáqGK´ë‰zWî_Ël;b€ùEºÖµX÷AÏ:[:rÉ “1<ƒ~þCwº¨Úç:Ƈ:èçr]_¥ØõÀÜø
¿ñŒGÖ=ÖˆöãÕw°î=ym<”Èð6ÎA%«ö9Äkú<Uµ±—9d“TP_{Ï\é}^yÏÈh/
ºQ’Ì=ÁóJö ®UµÏ!bn搜ŠíÄ…‚š'4t•$a-f=[#IŒÉw"8û{åX£5Y?kj,‚VD³ªÜ——buÝM”‰x¦í[ÅmMÓƒiVbhÎwK³_[7¾;u4?@hKh’ôS°ÓI
Qç=hüÚ Ø#Žƒ>¼¯øùj ™Èx_­G0NìÈw
øÇ‹‡Œ†d³ÐPÄJ`ƒûÓåp]ÿ,±gÚ ûðü@53y溛°µŽ ØeÞ œF³.³ìKÒo`¤Ÿ/våïœíSD äŠñÞ›Ïö8^¿‡¼†’!%B;òsfähH6 íÁxœÃçüU öÓvó–ÝÁ_„!o!dx¸¥Ô”ƒÝ¨€ ¥Tdý­Ø' R_Ÿ£{„8›=bNz»°/À¼¦2¹Í™Ûš¹&U·2Ä1¿¬|/n¸>M\ D\S†½fn~?‹4¥äa¤í\Òšd¤y#P4­º…´ÔÕér.O‡í©ØÔ"eß’'ßæ­ì£xóÙÒDÓ”·–²áͪn¡»&èÕÛx‡í®FÌ[-/ž"Åý¯§¾¨|Ž”Hé[ á:»|_/¾CØBô'÷, Û㘛å°U›WÝBÌ…ô¶Ä£]Öà»y;„³¨™³8߁JÁ5fš˜lÂgÆŒo_͆Ïsøº/ªn!„/dýgµ÷ìe'È3Q^¾äXnD
Wyè|bëˆi‹#ÀKò0ðz6x‘ƒo-«n!/Yþ¯Õu_ށüˆúç‰ü½~œÀ™­·h™¡Wímªªn!D¯¿PÏÿ7ÀïÏöY¾šµª>màëª[á^.‡õa¿¹®1šùk{IïX0
U”'npN
ê0´i®Í'‹ûpgãNgsOmR¡H«¬;›´^h¹kWù=Æ@âBG3×8ÎÇ”ÔZUeÓ ÖL¶Hi¢DJÓßìþÄk&óˆ§&)¼5äíåÍw&i½äH¬¶§ãá„ÃO›ÔÏ¢Y”ve)¶hÝ(åÎ{–¼9*Åõ†?•›b¿]£ Þ"Bà%±r»ÔHf¹]´Í€ û÷ûË+7¤
VšC.´Ëx z»/.o—‚2C>ª8•gdÏŸY«J*¯¡\7ĉ«\íNåÈŠ:Ý¥ÿ³ËQ8_®›í¡ØlÏÇÝêOÈCú[Sؼ 0°Î]ænm$hŽkѤV*
à5~g5Õ •°Üm çîdR½¿ç
|Øâ|xÚlß]º¡}f:H—I¸õ ã8,ƒInn j»á„y º 8ÒÅ‹Âm^wÅõü큔Cú<ïám{×FíAMi–Ð1,Û!š=àU·Ð¼ÜôyÊÚyŠj<…Ñî…ÑØ£YÍß#ÌO축Ðq¿j6€›õ¡U½k#q; óp§æ“q^Û™OõB"ãý‘/ߧ?Á¬ûL;u†Æ²kðÈ+õðiÍŒYþƒß¾ÿü;ï86ïÔ57ÿ&wï5y¬S‹É"AV­ž^7»ÒwvS´œÞ­îçÙ|lžN@³]uŠ¤P]C5N08æŠsjžT7F\ 1;’ÅqµþËt6$ÓÉ}ezdbôÓÈ :µÚhTÕ-´òDiC ?ÂùÇœt­ôãp§ÅÆ7\2¥+™·½‰\éÃbÜéèÛ¦—|(DÀtxñfE˜Mj°qÃdg5+-ek5ö“à ·PË@gApNaéÎ15‰Æ¸WY¾L
Ûjõè,hFgúFGÄí¾|_õ©+klÇðì5—9ê¢ÑvÅÞjê¦êZe‘h#Dõ¶Ý¯vÅúzq‘28ßòYðΗÎY\a©tóeˆJ€5jx®¥ó¯'¬óçÈzŶvBì ¤ƒ!¿O@ù+Ä&G,Ķê:Ä ˆêzüQ¼¯þ*n¢æDØ5ÇÔP8±„–¬´bY¡ý,ÃË uÿ|”§3þæã-!¯F^Ì&ŸÚB85³VL¬3…êàÖ:èxXÂc*?=)J­ˆ’‚$ZHs…òX+8Ú^_žõsK
/¶Ç`4ÞŽØ’«ÿv=êé]GÙs˜%¹-é¡ü·?ß–VÝBw¾‰ŽRW†’¯&rr\sÆùoΆ"Í÷Vý<‰yœiιq^YVu ÁýÈàZýø±*zÇÏUHÂƇì¦i“ùPÖ„=JnxóHgö£R´9ÑÞ~ô ݉¶˜\åOô>øæc[¬€öÕólÛ#mã#M]sƒ
‹cñ^ì"Pÿ˜¾¡þVäáZ4#à@ ø!¢-àýiYKlƒ4o xïxÑ-º-HmÊ%¶àkWíKgÄGòÛèdž¸%C¾%¿Œy¨EŽÚÔú‰•U· þÄ´Š²8­¶›B3òãÕ»MˆlÅ·ñ€ÍýœXÐ}2¢P7çÆÞh[ï…@­û×¹`ŸoÛ×Sy8^¶ÿ¹F‰r9Þchz×Æò7=ZÊ7×÷+þ2çoþªêZi£àÌòˆ?eªg4Ó±ãÊ‚œrž+bп†ª µ:KÞ\}‹ƒÐcv@>lììÈlO¥I³Þôô 7Þ &û^JFÇM„,G›€ÂÍj)bP`…Ñü’
Ýæ·ß:êUЏÚ‡jÞFdÖ¨2­Âî­Q¿¼
´|ïIÜlNµ)…Þ½{úÏoh9õ1ÀщîÀ;(›ctï*1Å
óW—g4Ë¿hM¾ºÙ[u á¸q„lÄ0‚‚?iÌÑ(#áÈc7¢Á07UÍÑ›`¶ z¶E•Ù­šÔÉ`Šx»Õ/´1$I¥•Nû¶=•¿áŸB=©â¸Ý×Ê~çÙuýž;v½old

(eh eh, là ya tous les caracteres!)
(c'est juste un fragment pris au hasard, en fait)

ce charabia je le recois dans une variable du style $data=Charabiabiabia

mais comme dans ce bloc compressé ya des guillemets simple et double je suis embété.
0
ixce Messages postés 51 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 17 décembre 2008 3
15 mai 2008 à 16:14
dailleurs dans le premier bloc de mon précedent message, il ne sagit pas de requetes mais seulement des valeurs ainsi que des actions a executer.
la partie "mettre ca dans une requete c'est ok", c juste la variable $data, le bloc compressé qui...enfin vous savez
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
15 mai 2008 à 16:17
C'est en effet embêtant que tu puisses pas modifier le contenu de la chaîne :) (au fait, c'est pas plutôt \" ? ) sinon j't'aurais recommandé les regexp :s.

Je crains de pas avoir d'idée pour t'aider, désolé^^
0
ixce Messages postés 51 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 17 décembre 2008 3
15 mai 2008 à 16:19
tant pis, mais c toujours sympa de voir des mecs chercher pour dautres
eh questceque que regexp?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > ixce Messages postés 51 Date d'inscription mardi 13 mai 2008 Statut Membre Dernière intervention 17 décembre 2008
15 mai 2008 à 17:53
tu fais un addslashes()


$variable=addslashes(ton_texte);
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
15 mai 2008 à 18:36
oui, mais le addslashes modifie le contenu^^ or il vaut mieux éviter d'après ixce

les regexp, ou regular expression (si j'me plante pas :D), sont des fonctions "hyper puissantes" pour modifier tes chaînes de caractères:
preg_match()
preg_replace()
split()

un coup d'oeil sur le site de php te diras comment t'en servir, et surtout, si elles sont utiles dans ton cas ;)
0