Visualizzazione risultati 1 fino 7 di 7

Discussione: dubbio str_replace

  1. #1
    Guest

    Predefinito dubbio str_replace

    ciao a tutti...


    ho un problema con str_replace

    praticamente io ho la variabile $contenuto che contiene sottoforma di stringa varie parole/simboli tra cui \' e =\ i quali rispettivamente voglio diventino ' e =

    ho scritto quanto segue:


    Codice PHP:
    $contenuto1=str_replace("\'","'",$contenuto);
    $contenuto2=str_replace("=\'","=",$contenuto1);
    ma se stampo contenuto2 esso contiene ancora \' e =\

    come mai?
    Ultima modifica di dreadnaut : 15-04-2012 alle ore 01.22.12 Motivo: + tag [php] per il codice

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    La barra è un carattere speciale, che serve a "proteggere" (escape) altri caratteri speciali, quando vogliono essere inseriti letteralmente. Quando vuoi inserire la barra letteralmente, devi raddoppiarla, e quindi scrivere così:

    Codice PHP:
    $contenuto1=str_replace("\\'","'",$contenuto);
    $contenuto2=str_replace("=\\","=",$contenuto1);
    Occhio che se nel codice crei stringhe ti prova per testare, magari ti sei dimenticato anche li di raddoppiarla.
    Ultima modifica di dreadnaut : 15-04-2012 alle ore 01.27.09

  3. #3
    Guest

    Predefinito

    Ciao e grazie per il consiglio...


    la striga altro non contiente che il codice html generato da tinyMCE, il quale mi piazza, non so per quale motivo, i \ prima di ' e di ". Ovviamente perchè io possa prendere e interpretare correttamente il codice devo andare a rimuovere i \' e i =\ e sostituirli con ' e =....

    ma anche inserendo nel codice la doppia \\ non mi ha funzionato...

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Questo thread è il tipico esempio di "domanda a proposito della soluzione che uno ha pensato" invece di "domanda a proposito del problema che uno ha"

    Se devi togliere gli slash (aggiunti come ti ho scritto per proteggere i caratteri speciali) da una stringa, ti basta stripslashes().

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Questo thread è il tipico esempio di "domanda a proposito della soluzione che uno ha pensato" invece di "domanda a proposito del problema che uno ha"

    Se devi togliere gli slash (aggiunti come ti ho scritto per proteggere i caratteri speciali) da una stringa, ti basta stripslashes().
    ciao, scusa non sono molto esperto... ho provato anche con questo consiglio:

    ho usato infatti $elena=stripslashes($contenuto); ma quando vado a stampare $elena è uguale a $contenuto con i relativi /

    sbaglio qualcosa di sintassi forse?

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Stiamo parlando di "\" oppure di "/" ? Sei sicuro di stampare la variabile giusta?

    stripslashes() è la funzione apposita, è difficile che non funzioni

  7. #7
    Guest

    Predefinito

    risolto...

    grazie mille

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •