Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Nascondere una parte variabile di una stringa

    Buongiorno a tutti. Cerco di spiegare il più accuratamente possibile quello che mi occorrerebbe.
    In base alla pagina che i miei utenti visitano nel mio sito io vorrei averne un riscontro.
    Il mio sito ha diverse pagine e ognuna di queste, quando viene visitata, invia un update nel database scrivendo il numero della pagina.
    Poi attraverso questo codice io ricevo l'informazione desiderata:

    // $rs["Luogo" è dove viene recuperata l'informazione della pagina che sta visitando l'utente precedentemente impostata sul database
    // 1 Altro , 2 Acquisti , 3 Vendite ecc.
    if ($rs["Luogo"] == '1') {
    ?>
    font-size:14px">A visualizzare Altro
    <?
    }
    elseif ($rs["Luogo"] == '2') {
    ?>
    font-size:14px">A visualizzare <? echo
    str_replace("/foglio.php?ID=1", "Auto" ,
    str_replace("/foglio.php?ID=2", "Moto" ,
    str_replace("/foglio.php?ID=3", "Imbarcazioni" ,
    str_replace("/foglio.php?ID=4", "Gioielli" ,
    str_replace("/foglio.php?ID=5", "Scooter" ,
    str_replace("/foglio.php?ID=6", "Case" ,
    str_replace("/foglio.php?ID=7", "Animali" ,
    str_replace("/foglio.php?ID=8", "Box" ,
    $rs["Zona"])))))))); ?> acquistabili
    <?
    }
    elseif ($rs["Luogo"] == '3') {
    ?>
    font-size:14px">A visualizzare Vendite
    <?
    }
    // e così via

    Va tutto bene fino a quando qualcuno non visita la pagina degli acquisti.
    Se viene visitata la pagina degli acquisti foglio.php?ID=5 mi restituisce questo valore:
    "A visualizzare Scooter&IDMsgPadre=985&p=1 acquistabili"
    La mia domanda è questa. Esiste un modo per non farmi visualizzare la parte variabile (&IDMsgPadre=985&p=1 ma potrebbe essere anche &IDMsgPadre=800&p=1 e così via)?
    Ho provato con stralci trovati sulla rete di espressioni regolari, con preg_replace e preg_replace_callback ma magari anche se i codici erano corretti non sapendo come modificarli non sono riuscito a
    risolvere il mio problema. Non sono ferrato in codici ma se vorreste aiutarmi ve ne sarei davvero grato.
    Grazie in anticipo.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se sai che la parte variabile inizia sempre dal primo carattere &, basta che ne prendi la posizione con la funzione strpos e poi usi questo dato con la funzione substr.

  3. #3
    Esatto, la parte variabile inizia sempre con &.
    Potresti farmi un esempio concreto per favore?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Beh, l'esempio è darti praticamente la soluzione, cosa che di solito non si fa, ma visto che sono 2 righe di codice facciamo uno strappo alla regola
    Codice PHP:
    $stringa "A visualizzare Scooter&IDMsgPadre=985&p=1";

    $pos strpos($stringa"&");
    echo 
    substr($stringa0$pos); 
    Funziona fin quando non hai un & che fa parte della stringa che vuoi mantenere però.

  5. #5
    Il fatto è che se aggiungo quella parte di codice a quello che ho postato prima ovviamente mi da un doppio risultato, che sarebbe la pagina che il primo utente della lista controlla per poi andare a duplicarsi su tutti gli altri utenti.
    Ovvero la risposta (A visualizzare Scooter) me la fa vedere anche in tutti gli altri anche se visualizzano ad esempio Case.
    Ho ovviamente fatto alcune prove cambiando posizioni e parte di codice ma sto peggio di prima.
    Potresti aiutarmi per favore?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ma tu nel fare la prova hai scritto tutto il mio codice? Anche la pria riga?
    Quella non ce la devi mettere, era per darti un esempio funzionante, alle funzioni devi passare solo la tua di stringa.

  7. #7
    Perfettissimo, adesso funziona grazie infinite

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.