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

    Variabili derivate da $_POST che non si interpretano

    Ciao a tutti,
    ho un problema piccolo ma che mi sta facendo dannare.
    Una mia pagina php riceve in ingresso dal form di una pagina precedente il valore di una textbox contenuto nella rispettiva variabile $_POST['testo'].
    Questa variabile che uso nella mia pagina php deriva appunto dalla textbox che serve per prendere in memoria dei caratteri e può contenere anche caratteri speciali scritti realmente dall'utente come l'andare a capo \n.
    Il mio problema è che questi caratteri speciali io li devo usare all'interno della mia pagina php come se fossero caratteri dichiarati in una mia stringa fra apici e quindi interpretabili, invece sono come se fossero stati dichiarati fra singoli apici e quindi li usa come testo.
    in pratica avrei bisogno di convertire una variabile nata con apici singoli in una variabile con doppi apici.

    esempio:
    se nella textbox l'utilizzatore del form ha scritto \n
    e la pagina php fa un operazione del tipo:
    $output = "ciao".$_POST['testo']."arrivederci"
    e scrivo $output in un file il risultato che vorrei è:

    ciao
    arrivederci

    e invece il risultato reale è:

    ciao\narrivederci

  2. #2

  3. #3
    Quote Originariamente inviata da W Thunderbird Visualizza il messaggio
    Grazie,
    questo potrebbe funzionare però nel caso specifico dei \n
    se però ad esempio ho un \t in ingresso il problema mi si ripropone.

  4. #4
    Quote Originariamente inviata da srondelliweb Visualizza il messaggio
    Grazie,
    questo potrebbe funzionare però nel caso specifico dei \n
    se però ad esempio ho un \t in ingresso il problema mi si ripropone.
    Codice PHP:
    $a="Ciao \n come va ?";
    $search=array("\n");
    $replace=array("<br>");
    echo 
    str_replace($search,$replace,$a); 
    Basta inserire negli array $search e $replace quello che serve.. \t.. \b..
    http://www.php.net/manual/it/function.str-replace.php

  5. #5
    Grazie,
    il punto è che io devo sostituire ad esempio '\n' con "\n" (gli apici non sono nella stringa ma sono la dichiarazione stessa di stringa). inoltre non conosco a presciendere il carattere passato quindi potrebbe essere qualsiasi carattere speciale di quel tipo.

    e come se io avessi:
    $variabile = 'caratterespeciale';
    e volessi trasformarla in
    $variabile = "caratterespeciale";
    per qulasiasi carattere speciale (\n, \t, ecc...)

    quello che per adesso ho trovato più adatto è:
    $variabile=str_replace("\\t", "\t",$variabile);
    però lo devo fare per ogni carattere speciale che penso sia contenuto in $variabile (ad esempio in questo caso l'ho fatto con il \t.) Io però lo vorrei fare in generale per qualsiasi carattere speciale.

  6. #6
    Non ti seguo.. fai un esempio di come deve risultare la stringa finale.

    Forse intendi così ?
    Codice PHP:
    $a="Ciao \n come va ?";
    $search=array("\n");
    $replace=array("\"\\n\"");
    echo 
    str_replace($search,$replace,$a); 
    Quali caratteri speciali ti aspetti in input quelli dei comuni file di testo non sono così tanti...
    \t tab (HT, TAB)
    \n newline (LF, NL)
    \r return (CR)
    \f form feed (FF)

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.