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

    Problema con replace di stringhe

    Ho un problema che mi sta facendo impazzire..

    Ho delle stringhe passate mediante post che potrebbero contenere dei caratteri di "a capo" (chr(10)).

    Con un foreach vorrei sostituire in tutte le stringhe tali caratteri con dei "
    ".

    Teoricamente è la cosa più semplice di questo mondo.. ma nn so perchè nn mi va.

    E la cosa pazzesca è che la funzione strpos() riesce a trovare i chr(10).. quindi sto sicuro che esistono davvero...

    Questo il codice incriminato.. con tutti gli echo per il debug.
    codice:
    //Formattazione HTML
      foreach ($_POST as $key => $value){
        echo '>'.strpos($_POST[$key],chr(10)).'
    ';
        $_POST[$key] = ereg_replace(chr(10),'
    ',$value);
        $_POST[$key] = ereg_replace(chr(34),'"',$value);
        $_POST[$key] = $value.'+++';
        echo $_POST[$key].'
    ';
      }
    E questo è il risultato che produce:
    codice:
    >
    2+++
    >
    5+++
    >
    merlo+++
    >5
    merlo merlo \"merlo\"+++
    Come vedete nella 4a stringa trova un "a capo" alla posizione 5.. però nella stringa nn lo sostituisce con un bel "
    "...
    Invece l'istruzione "$_POST[$key] = $value.'+++';" ha effetto sulla stringa...

    Che sta succedendo???


  2. #2
    puoi usare semplicemente la funzione nl2br() applicata sul campo che ricevi in post: http://it.php.net/manual/it/function.nl2br.php












    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.