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

    Problema con le stringhe e substr

    Salve ho un problema con le stringhe che riassumo in breve.
    Ho una stringa $commento, tramite una procedura for fino alla lunghezza della stringa, devo prendere un carattere dalla stringa $commento e portarla nella nuova stringa $newcommento ma non funziona.


    for ($i = 1; $i <= strlen($commento); $i++)
    {
    $newcommento=$newcommento substr($commento,$i-1,1); //questa riga non funziona e non sò perche.
    }

    La riga segnata non funziona e non sò perche, volevo evitare di creare una nuova stringa e poi aggiungerla a $newcommento.
    Mi sapete dire dov'è l'errore, dove sbaglio.
    Grazie.
    Mariastella

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    non è che sia molto chiaro quello che vuoi fare, comunque
    codice:
    $newcommento = ""; 
    for ($i = 1; $i <= strlen($commento); $i++) 
    {
      $newcommento .= substr($commento,$i-1,1); 
    }
    oppure
    codice:
    $newcommento = ""; 
    for ($i = 1; $i <= strlen($commento); $i++) 
    {
      $newcommento .= $commento[$i-1]; 
    }
    o più semplicemente


    codice:
      $newcommento = $commento;

  3. #3

    Mi sono spiegata male

    In effetti mi sono spiegata male, cercherò di essere più chiara.
    Ho una casella tipo textarea (<textarea ..) in cui uno scrive di tutto utilizzando anche il tasto invia.
    Il tutto viene recuperato in una variabile $commento.
    Il mio problema è di sostituire i codici chr(13) e chr(13) (che sono quelli che fanno andare a capo il testo) con un simbolo che scelgo io tipi "§".
    Volevo scansionare la variabile carattere per carattere ma ho scoperto che c'è una funzione più semplice ossia strtr e ho scritto le seguenti righe:
    $commento=strtr($commento,chr(13),"§");
    $commento=strtr($commento,chr(10),"");
    che mi dovrebbero sostituire entrambi i codici chr(13) e chr(10) con il solo simbolo "§" ma nella seconda istruzione non so come fare a sostituire il codice chr(10) con niente.
    Come posso fare?
    Grazie
    Mariastella

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    prova ad usare
    Codice PHP:
        str_replace "\n\r""mio_simbolo"$commento ); 
    forse la textarea come fine riga ha solo \r, in questo caso

    Codice PHP:
        str_replace "\r""mio_simbolo"$commento ); 

  5. #5

    Risolto

    Risolto. Molto gentile. Grazie mille.

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.