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???