Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    preg_match - non è facile!

    Mi serve il valore della variabile GET "home" che filtro con preg_match da una stringa.

    Funziona benissimo se la stringa ha più di 1 variabile ma con una sola variabile non riesco a filtrare il valore (vedi secondo esempio):

    Qualche idea dove sbaglio?

    [ PHP ]
    echo "da stringa con 2 e più variabili: ";
    $stringa = "page=home&lang=IT&img=01";
    preg_match("/(page=)(.*?)(\&)(.*?)/",$stringa,$ris);
    echo $ris[2];
    echo "


    ";


    echo "da stringa con 1 variabile: ";
    $stringa = "page=home";
    preg_match("/(page=)(.*?)/",$stringa,$ris);
    echo $ris[2];
    [ / PHP ]


    Grazie

  2. #2
    Deduco che nel primo esempio stampi il valore di img.

    Nel secondo esempio non funziona perchè l'array risultante è formato da un unico valore (quello di page). Se avessi i notice abilitati ti restituirebbe un notice (nel tuo caso che la variabile che vuoi stampare non esiste).

    Ora, se quello che vuoi ottenere è l'ultimo valore l'unico modo per farlo è questo:

    1) Esegui il preg_match
    2) sostituisci il tuo echo con questo:

    echo $ris[count($ris) - 1];

    Fammi sapere se ho capito bene e se non ho capito spiegati meglio. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie,

    ho rfisolto così:

    <?php
    echo "da stringa con 2 e più variabili: ";
    $stringa = "page=home&lang=IT&img=01";
    preg_match("/(page=)(.*?)(\&)(.*?)/",$stringa,$ris);
    echo $ris[2];
    echo "


    ";


    echo "da stringa con 1 variabile: ";
    $stringa = "page=home";
    preg_match("/(page=)(.*)/",$stringa,$ris);
    echo $ris[2];
    ?>

  4. #4
    A parte il fatto che non ho capito cosa tu voglia fare e a cosa ti serva una cosa del genere, quello non mi sembra il modo migliore di operare. Cmq mi spieghi che devi farci con questo script?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Ciao,

    grazie, hai ragione sul modeo di operare, ho risolto diversamente.

    cmq.....

    ho un piccolo DB che mi genera il menu di navigazione.

    Ho una colonna che si schiama link dove sono salvati i collegamenti che possono essere

    page=home&lang=IT&img=01

    ma anche con una sola variabile

    page=home

    mi interessava recuperare dal DB il valore della variabile page.

  6. #6
    Ho capito, va bè, ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.