【发布时间】:2011-06-02 10:48:38
【问题描述】:
我想将 html 格式的文本保存到数据库,但是当我这样做时,不要保存 html 符号,如 > ' 和其他 这就是我从数据库中读取文章进行编辑的方式:
<p class="Title">Англійський варіант:</p>
<textarea name="EN" cols="90" rows="20" value="<?php echo htmlentities($articleArr['EN'], ENT_QUOTES, "UTF-8"); ?>" ></textarea>
之后生成这样的html代码:
<p class="Title">Англійський варіант:</p>
<textarea name="EN" cols="90" rows="20" value="<p class='Title'> привыт </p>" ></textarea>
所以,我希望这个文本会出现在我的文本字段中,在这个页面的 html-code 中它是,但在文本区域中没有。
在数据库中我将其保存为:
<p class="Title"> Hello </p>
那么我该怎么做:
- 从数据库中读取 html 格式的文本。
- 在 textarea 元素中显示它。
- 编辑并将其保存回数据库。
请帮帮我,我怎样才能正确保存这些文本,谢谢!
【问题讨论】:
-
你确定它不保存像 >这样的html-symbols吗?
-
对于其他符号,例如 ' 或 \ ,对于您放入查询中的每个变量,始终使用
$ParentName = mysql_real_escape_string($ParentName);等等 -
Textarea 有开始标签和结束标签。并且没有值属性。
-
嘿,他是对的,没有发现这一点。 Textareas 的工作方式与大多数表单输入不同。看起来像这样
<textarea name="textarea">Stuff Goes In Between the Tags</textarea>而不是<textarea name="textarea" value="Stuff doesn't go in value"></textarea> -
哦,另外,标签之间的东西是它的值,它都被放入 $_POST 或 $_GET 或任何文本区域元素的名称中。因此,
<textarea name="comments">Blah blah blah blah blah</textarea>将是 $_POST['cmets'] 并且等于“Blah blah blah blah blah”。如果你有一个字符串 $string = "Blah blah blah blah blah" 并输出echo '<textarea name="comments">'.$string.'</textarea>';那么你会得到一个预填有 "Blah blah blah blah blah" 的文本区域。
标签: php html phpmyadmin