Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    90

    str_replace fa le bizze

    Un problema che mi sembrava assolutamente banale da risolvere mi sta facendo venire il mal di testa:

    Codice PHP:
    if (($HTTP_GET_VARS['cmd'] == 'download' ) && ($_SESSION["guest_login"] == 0)) 
    {   
    $link $HTTP_GET_VARS['link'];
        if ( 
    strlen($link) > 
       {   
    una_certa_funzione($link); }

    devo eliminare, in $link, una certa ricorrenza (naturalmente solo se essa è presente). Quindi ho pensato di usare str_replace mettendo nella dichiarazione di $link
    Codice PHP:
    $link str_replace ('sostituendo''sostituito'$HTTP_GET_VARS['link']); 
    ma non funziona in alcun modo, non va!
    Se provo a stampare il risultato dello str_replace non stampa nulla... dove sbaglio?!

    Grazie infinite!
    Se hai paura di chiedere, vuol dire che ti vergogni ad imparare...

  2. #2
    Ma perché usi $HTTP_GET_VARS? E' assolutamente deprecato il suo uso ormai...
    Usa $_GET! Il codice comunque sembra corretto... sicuro di non sbagliare da altre parti? Sicuro che la variabile sia piena?

    Fai un esempio pratico e vedi se funziona (ma funzionerà sicuramente)
    Codice PHP:
    $var "prova 1 2 3";
    echo 
    str_replace("prova""test"$var); 
    Dovrebbe stampare: test 1 2 3
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    90
    potrebbe essere che in una stringa di questo genere

    ed2k://|file|file_di_prova+%5BdaSostituire%5D.rar|8489767 9|97981B4B4AA9930B237A2DA2B75448C1|/
    php abbia problemi a sostituire, ad esempio, la parola daSostituire?!
    se consideriamo quello come $link, se faccio
    Codice PHP:
    $link str_replace'daSostituire'''$link); 
    dovrebbe funzionare e restituire la stringa privata di "daSostituire" !!

    il tutto è inserito in un contesto piuttosto più grande (è l'interfaccia web di amule) ma non ci dovrebbe essere nulla che impedisce l'esecuzione di una funzione come str_replace! Ho notato che nemmeno substr_replace funziona, mentre per dire un semplice
    Codice PHP:
    echo $link
    funziona!!
    Se hai paura di chiedere, vuol dire che ti vergogni ad imparare...

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    90
    non mi ci raccapezzo più
    ho fatto proprio pari pari la prova che mi hai scritto, e non va!

    Ho pensato che nel contesto fossero state in qualche modo "inibite" le funzioni di un certo tipo ma per esempio se faccio echo strlen ($var); stampa correttamente 11!!
    se, dal mio esempio, faccio echo gettype ($link); non stampa nulla, e strpos ("Questa è una prova", "prova"); restituisce false!!

    Se hai paura di chiedere, vuol dire che ti vergogni ad imparare...

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.