nl2br e stripslashes

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
Salve,
Quando estraggo un campo MEDIUMTEXT dal mio database dovrei sostituire gli eventuali \r\n con <br> ed eliminare le backslash aggiunte all'inserimento con la funzione addslashes..

All'estrazione ho provato cosi':
PHP:
$campotesto = stripslashes(nl2br($vett['campotesto']));

Se ad esempio il campo è "l\'orso polare\r\n ciao ciao ragazzi "
utilizzando quel codice mi viene fuori "l'orso polarern ciao ciao ragazzi"

Ho provato anche in altri modi ma non riesco, dove sbaglio?
Grazie
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
C'è qualcosa che non va nel modo in cui tratti la stringa, perché se scrivo:
PHP:
var_dump(stripslashes(nl2br("l\'orso polare\r\n ciao ciao ragazzi")));
Ottengo:
Codice:
string(39) "l'orso polare<br />
 ciao ciao ragazzi"
Sei sicuro di non racchiuderla tra apici singoli da qualche parte?
 

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
Ho risolto. La tua espressione "C'è qualcosa che non va nel modo in cui tratti la stringa"
mi ha fatto riflettere. Il problema infatti era a monte..

Mi è bastato aggiungere la funzione nl2br (oltre a addslashes) all'inserimento del campo nel db.
In modo che nel db venga scritto "l\'orso polare <br /> ciao ciao ragazzi"

e quando estraggo utilizzo solo stripslashes e il risultato è perfetto.

Grazie mille
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
alex ha perfettamente ragione
prova a fare
PHP:
var_dump($vett['campotesto']);
$vett['campotesto'] = stripslashes(nl2br($vett['campotesto'])); 
var_dump($vett['campotesto']);
così vedi cosa entra in $vettore e puoi regolarti di conseguenza.

p.s.
per una verifica (inutile) ho provato tutte le combinazione, iniziando da
PHP:
$vett['campotesto']=addslashres($vett['campotesto']);
//ecc...
e il risultato è sempre quello che dice alex
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
E se provassi a seguire questa pillola?
[non è una pubblicità ad altri forum, non si sa mai come viene presa]
L'ho letta con attenzione e mi sembra abbastanza chiara.
Non l'ho testata, ma leggendo i commenti direi che dovrebbe andare tutto per il verso giusto.
 
Ultima modifica:

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
E se provassi a seguire questa pillola?
[non è una pubblicità ad altri forum, non si sa mai come viene presa]
L'ho letta con attenzione e mi sembra abbastanza chiara.
Non l'ho testata, ma leggendo i commenti direi che dovrebbe andare tutto per il verso giusto.
Attento perché in quella pillola si utilizzano le funzioni ereg che sono ormai deprecate con le ultime versioni di PHP.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Si ma potrebbe sempre usare la funzione STR_REPLACE(). Correggimi se sbaglio.
 

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
E se poi l'utente dovesse modificare nuovamente il campo? Si troverebbe dei <br /> senza sapere da dove provengano.

Alla fine ho risolto come ho spiegato sopra..il problema se l'utente dovesse modificare nuovamente il campo non sussiste poichè nel mio caso solo l'amministratore può modificare un articolo

Grazie a tutti :)

Saluti
 

Discussioni simili