Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000

    Recuparare valore da una stringa

    Ciao a tutti,
    ho diversi valori che mi ritornano da un servizio cosi strutturati :

    Codice PHP:
    a:6:{s:15:"info_buyRequest";a:6:{s:4:"uenc";s:108:"ffjkgjfdkgjdiogjoigjdfkdljgkdsfjgdkf";s:7:"product";s:4:"7454";s:8:"form_key";s:16:"bMgl1Wbsqtyhdsv9W8c";s:15:"related_product";s:0:"";s:15:"super_attribute";a:1:{i:874;s:4:"9913";}s:3:"qty";s:1:"1";}s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:5:"gusto";s:5:"value";s:13:"More  e Limone";}}s:11:"simple_name";s:15:"xxxx Extreme";s:10:"simple_sku";s:12:"785475812595";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;} 
    Codice PHP:
    a:6:{s:15:"info_buyRequest";a:6:{s:4:"uenc";s:104:"aHR0cDovL2trtrm11c2NsZW51dHrtrtfgflvbi5jb20vbWFyY2hlL2Fsci1pbmR1c3RyaWVzL2h1bWFwcm8tNDMwMy5odG1sP19fX1NJRD1V";s:7:"product";s:4:"7854";s:8:"form_key";s:16:"bMgl1tysqw876W8c";s:15:"related_product";s:0:"";s:15:"super_attribute";a:1:{i:548;s:3:"956";}s:3:"qty";s:1:"1";}s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:5:"Gusto";s:5:"value";s:3:"Uva";}}s:11:"simple_name";s:19:"xxxxxx";s:10:"simple_sku";s:12:"54567532567";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;} 
    Dovrei tirare fuori questa stringa se presente :

    Codice PHP:
    s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:5:"Gusto";s:5:"value";s:3:"Uva";}} 

  2. #2
    Cosa intendi per "tirare fuori" dato che la stringa già ce l'hai?! Devo solo verificarne la presenza?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Devo verificare la presenza (ma attenzione non sono tutte uguali) e sopratutto ottenere una stringa che contenga solo

    s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:5:"Gusto";s:5:"value";s:3:"Uva";}}

    Meglio ancora solo UVA o quello che c'è dentro ogni volta, ovvero quello dopo il value

  4. #4
    Perdonami ma credo di non avere ancora capito.
    Correggimi se sbaglio, devi individuare, se presente, la stringa:

    s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:5:"Gusto";s:5:"value";s:

    e recuperare il valore contenuto nel value (ES: in caso di Uva ci sarà 3:"Uva";}} in caso di Mela immagino ci sia 4:"Mela";}} ecc.)
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Esatto !

  6. #6
    Prova un po' questo:

    Codice PHP:
    <?php
    $str 
    'a:6:{s:15:"info_buyRequest";a:6:{s:4:"uenc";s:104:"aHR0cDovL2trtrm11c2NsZW51dHrtrtfgflvbi5jb20vbWFyY2hlL2Fsci1pbmR1c3RyaWVzL2h1bWFwcm8tNDMwMy5odG1sP19fX1NJRD1V";s:7:"product";s:4:"7854";s:8:"form_key";s:16:"bMgl1tysqw876W8c";s:15:"related_product";s:0:"";s:15:"super_attribute";a:1:{i:548;s:3:"956";}s:3:"qty";s:1:"1";}s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:5:"Gusto";s:5:"value";s:3:"Uva";}}s:11:"simple_name";s:19:"xxxxxx";s:10:"simple_sku";s:12:"54567532567";s:20:"product_calculations";i:1;s:13:"shipment_type";i:0;}';

    $pattern '/s:15:"attributes_info";a:1:{i:0;a:2:{s:5:"label";s:5:"Gusto";s:5:"value";s:[0-9]+:"(.+?)";}}/';
    preg_match_all($pattern$str$matches);
    print_r($matches);
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Grande !!!!
    Sembra andare, lo proverò un paio di giorni e vedo se c'è qualche eccezione.

    Grazie ancora !

  8. #8
    Sembra un array serializzato, prova a passarlo alla funzione unserialize(), dovresti poter accedere comodamente a tutte le sue parti.

  9. #9
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Infatti oggi ci stavo provando con il .net ed effettivamente è un oggetto Json.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.