2011-01-02 16 views
5

Chcę zapisać tekst w formacie HTML do bazy danych, ale kiedy to zrobię, nie zapisuj html-symboli takich jak < /> 'i innych Tak czytam artykuł z baza danych do edycji:zapisz tekst w formacie HTML do bazy danych

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

po to generuje taki kod HTML:

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

Tak, spodziewam się, że ten tekst pojawi się w moim polu tekstowym w kodzie HTML strony tak, ale w obszarze tekstowym nie ma.

W bazie zapisać jako:

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

Więc jak mogę zrobić następująco:

  1. odczytywane z bazy html-formattedtext.
  2. Pokaż go w elemencie textarea.
  3. Edytuj i zapisz z powrotem do bazy danych.

Proszę mi pomóc, jak właściwie zapisać takie teksty, Thanx!

+0

Czy na pewno nie zapisuje się symboli html, takich jak? –

+0

tak, to nie zapisuje takich symboli – yozhik

+0

tak. po prostu to robi. –

Odpowiedz

30

Spróbuj użyć htmlspecialchars() na ciąg umieścić w DB, a następnie, gdy wyciągając go z powrotem się, użyj htmlspecialchars_decode(). Może zrobić różnicę.

+1

Niektóre znaki mają specjalne znaczenie w HTML i powinny być reprezentowane przez elementy HTML, jeśli mają zachować znaczenie. Ta funkcja zwraca ciąg z niektórymi z tych konwersji; wykonane tłumaczenia są najbardziej przydatne do codziennego programowania stron internetowych. Jeśli chcesz przetłumaczyć wszystkie jednostki znaków HTML, użyj htmlentities(). –

Powiązane problemy