problema eliminazione new line (almeno credo) dal DB

  • Creatore Discussione Creatore Discussione reg
  • Data di inizio Data di inizio

reg

Nuovo Utente
2 Mag 2006
2
0
0
www.maxtacchetti.it
Salve a tutti, ho un problema forse banale, dal quale però non riesco ad uscire.

In un campo del database (di tipo TEXT) ho salvato una stringa di questo tipo:
Codice:
<P><FONT face="Comic Sans MS" color=blue size=4><STRONG>pippo</STRONG></FONT> <FONT style="BACKGROUND-COLOR: yellow" face=Verdana color=green size=7>pippo</FONT> <FONT color=red size=1>pippo</FONT></P><OL><LI><EM><FONT color=#ff0000 size=1>ciao</FONT></EM></LI></OL>

Ora nella pagina devo inviare questa stringa ad una funzione in java-script:

Codice:
<script language="javascript"> 
    initialize2('<? $news['testo'];?>') 
</script>


Il problema è che nel momento in cui carico la pagina la stringa viene scritta nel seguente modo:
Codice:
<script language="javascript"> 
    initialize2('<P><FONT face="Comic Sans MS" color=blue size=4><STRONG>pippo</STRONG></FONT> <FONT style="BACKGROUND-COLOR: yellow" face=Verdana color=green size=7>pippo</FONT> <FONT color=red size=1>pippo</FONT></P><br /> 
<OL><br /> 
<LI><EM><FONT color=#ff0000 size=1>ciao</FONT></EM></LI></OL>') 
</script>


Viene cioè mandata a capo, producendo un errore del tipo "Costante stringa senza terminazione"

Non so proprio come evitare di mandare a capo questa stringa.
Ho provato così ma niente da fare.

PHP:
$testo_news=trim($news['testo']); 
$testo_news=trim($testo_news, "\t"); 
$testo_news=trim($testo_news, "\n"); 
$testo_news=trim($testo_news, "\r"); 
$testo_news=nl2br($testo_news);


Ho provato anche con
PHP:
$testo_news=str_replace($testo_news, "\n", "");

Ma in questo caso quello che ottengo è una stringa Vuota.

In definitiva quello che dovrei ottenere è

Codice:
initialize2('<P><FONT face="Comic Sans MS" color=blue size=4><STRONG>pippo</STRONG></FONT> <FONT style="BACKGROUND-COLOR: yellow" face=Verdana color=green size=7>pippo</FONT> <FONT color=red size=1>pippo</FONT></P><OL><LI><EM><FONT color=#ff0000 size=1>ciao</FONT></EM></LI></OL>')

Ossia una stringa stampata tutta su un unica riga.


Potete aiutarmi??? :crying: :crying:
 
Ho risolto da solo.

Utilizzando questa funzione per pulire la stringa

PHP:
//Funzione per rimuovere caratteri particolari nell'inserimento news
function pulisci_stringa($string)
{
   $len = strlen($string);
   for($a=0; $a<$len; $a++)
{
       $p = ord($string[$a]);
       # chr(32) è lo spazio, esso viene preservato...
       (($p > 32 && $p < 123) || $p == 32) ? $ret .= $string[$a] : $ret .= "";
   }
   return $ret;
}

:jolly: :jolly: :jolly:
 

Discussioni simili