2011-09-08 10 views
6

Ho dati HTML memorizzati nel database che desidero visualizzare così com'è. Continua a convertire i tag
in &lt;br /&gt;, che è un comportamento che non desidero. Ho provato a giocare con javascript replace e ancora non riesco a convertirlo in HTML normale.Perché i tag "<br />" vengono convertiti in "< br/>"?

var venueaddress = msg.result[0].venueaddress; 
    var venueaddress2 = venueaddress.replace("[newline]", "<br />"); 

       alert(venueaddress2); //shows <br /> 


$("#venueaddress").text(venueaddress2); //lets now display it on the browser 

<li><h3>Venue Address</h3><p><strong> <span id="venueaddress"></span> </strong></p></li> 

Tuttavia quando si esegue il rendering nel browser, esso ha la < br/> e C'è quindi non v'è alcuna interruzione di riga.

+3

puoi incollare il codice in cui aggiungi HTML alla tua pagina –

+0

Stai codificando l'HTML prima di memorizzarlo nel database? E stai cercando di visualizzare l'HTML con il markup intatto? –

+0

controlla questo post http://stackoverflow.com/questions/1147359/jquery-decode-html-entities – Samich

risposta

7

Il tuo problema è con

$("#venueaddress").text(venueaddress2); 

si dovrebbe usare

$("#venueaddress").html(venueaddress2); 

testo sarà codificare qualsiasi carattere html e mostrerà in arco come codificati, html non lo faranno.

+0

Grazie, mi è mancato totalmente. – jini

2

Presumibilmente perché quando lo si inserisce nel DOM, lo si inserisce come testo e non come HTML.

Dato che non hai mostrato il codice che stai usando per farlo, è difficile dirlo con certezza, o per dire quale sia il modo migliore per cambiarlo, quindi si aspetta che l'HTML sia.

+0

avevi assolutamente ragione – jini

0

I dati html vengono "scappati". Questo impedisce alle persone di inviare il tag <script> a persone ignare al proprio browser.

Correzione: per prima cosa è necessario determinare se il problema è un "bug" o una "funzionalità".

Escaping html di solito è una buona cosa. Soprattutto se l'unico problema è quello della presentazione.

Ad esempio, una soluzione potrebbe essere quella di inserire caratteri di nuova riga anziché l'elemento br.

Problemi correlati