2011-01-02 16 views
5

Voglio salvare il testo formattato in html nel database, ma quando lo faccio non è salvare i simboli html come < /> 'e altri Ecco come ho letto l'articolo da database per la modifica:salva il testo formattato in html nel database

<p class="Title">Англійський варіант:</p> 
    <textarea name="EN" cols="90" rows="20" value="<?php echo htmlentities($articleArr['EN'], ENT_QUOTES, "UTF-8"); ?>" ></textarea> 

dopo questo genera tale codice html:

<p class="Title">Англійський варіант:</p> 
    <textarea name="EN" cols="90" rows="20" value="&lt;p class=&#039;Title&#039;&gt; привыт &lt;/p&gt;" ></textarea> 

Quindi, mi aspetto che questo testo apparirà nel mio campo di testo, in codice HTML di questa pagina è, ma nell'area di testo è no.

In base di dati ho salvarlo come:

<p class="Title"> Hello </p> 

Così come posso fare il seguire:

  1. leggere dal database html-FormattedText.
  2. Mostralo nell'elemento textarea.
  3. Modificare e salvarlo nel database.

Aiutatemi, come posso salvare correttamente tali testi, Grazie!

+0

Sei sicuro che non salvi i simboli HTML come? –

+0

sì, non salva tali simboli – yozhik

+0

lo fa. semplicemente. –

risposta

30

Provate ad usare htmlspecialchars() sulla stringa di mettere in DB, e poi, quando si tira indietro fuori, utilizzare htmlspecialchars_decode(). Potrebbe fare la differenza.

+1

Alcuni caratteri hanno un significato speciale in HTML e dovrebbero essere rappresentati da entità HTML se vogliono preservare i loro significati. Questa funzione restituisce una stringa con alcune di queste conversioni fatte; le traduzioni fatte sono quelle più utili per la programmazione web quotidiana. Se si richiedono la traduzione di tutte le entità di carattere HTML, utilizzare invece htmlentities(). –