【问题标题】:send HTML Code in Textarea to PHP via Form通过表单将 Textarea 中的 HTML 代码发送到 PHP
【发布时间】:2010-01-16 15:45:37
【问题描述】:

我想要一个可以直接编辑 html 代码的文本区域。提交表单后,如果文本区域(带有 html 标签)的内容应保存到 MySQL 数据库。我使用 PHP 接收日期并将其保存到数据库中。我的问题是,HTML 代码没有正确发送到 PHP。我没有收到 HTML 代码,而只是收到了文本。我该如何解决这个问题?

我的表单如下所示:

<form method="post" enctype="multipart/form-data" action="form.php">
   <textarea name="html_code">
      <a href="link">testlink</a>
   </textarea>
   <input type=submit value="submit"/>
</form>

form.php 现在应该可以显示 textarea 的内容了

echo $_POST['html_code'];

显示:testlink

我要:&lt;a href="link"&gt;testlink&lt;/a&gt;

【问题讨论】:

    标签: html forms post joomla textarea


    【解决方案1】:

    谢谢大家的回答。我发现了问题。这是Joomla。当我通过 getVar 获取字符串时,Joomla 删除了 HTML 标记。我不得不使用掩码选项 JREQUEST_ALLOWRAW 来解决这个问题。

    JRequest::getVar('html_code', '', 'post' , 'STRING', JREQUEST_ALLOWRAW);
    

    【讨论】:

    • 嗨,Dominik,重要的是要在您的回答中指定您正在使用 Joomla 等,这样人们就可以知道诸如此类的可能问题。
    • @Toby Allen 是的,你是对的。我只是没有想到这个问题与 Joomla 相关。
    【解决方案2】:

    您是否将其回显到 HTML 页面中?因为代码会被解析成实际的链接。

    查看输出页面的来源。

    【讨论】:

    • 如果我查看 HTML 页面的源代码,我只会看到“testlink”
    【解决方案3】:

    您使用了错误的编码类型。

    应该是“text/plain”,而不是“multipart/form-data”。

    您不必像 Doug 上面所说的那样对数据进行编码;但是当你提交表单时它会为你编码,所以在使用之前不要忘记解码。

    【讨论】:

    • 我认为编码不是问题。 PHP 自动检测编码并解码所需内容。
    【解决方案4】:

    你的表格应该是:

    <form method="post" enctype="multipart/form-data" action="form.php">
       <textarea name="html_code">
          &lt;a href=&quot;link&quot;&gt;testlink&lt;/a&gt;
       </textarea>
       <input type=submit value="submit"/>
    </form>
    

    (不,没有搞砸。他们叫HTML entities

    您可以在 PHP 中使用htmlentities() 来实现。

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 2015-05-04
      • 2016-06-21
      相关资源
      最近更新 更多