-2

我从表单发送数据,其中 textarea 包含 html 标签。在 PHP 方面,我看不到它们,使用:

echo "<pre>";
print_r( $_POST );
echo "</pre>";
exit();

我得到:

在此处输入图像描述

段落标签哪里去了?

在源代码中,它们显然已经消失了:

<pre>Array
(
    [mode] => save_product
    [id] => 1
    [title] => Banana Shake
    [categoryid] => 1
    [serving] => 34.50
    [orderby] => 10
    [intro] => Intro
    [instructions] => Empty contents of packet into a shaker or blender, add 200-240ml of cold water and shake/mix until fully dissolved.
Consume within 10 minutes for full nutritional benefit.
...</pre>

编辑

我正在使用 x-Cart 的引擎来操作数据,可能是 x-Cart 剥离了这些标签。

4

2 回答 2

1

解决方案是以这种方式在脚本开头设置受信任的变量:

define('USE_TRUSTED_POST_VARIABLES', 1);
$trusted_post_variables = array('intro', 'instructions');

这样 x-cart 就不会剥离任何标签。

感谢您的帮助,并对造成的混乱感到抱歉。

于 2016-08-16T12:44:57.457 回答
0

编辑:这个答案是在假设您没有使用框架或其他方法从您的帖子中去除 HTML 标签的情况下编写的。

您的段落标签仍然存在。由于您在浏览器中打印它们,因此浏览器将它们解释为真正的<p>标签。如果您要查看页面的源代码,您会看到标签。(谷歌“<your browser name>查看页面源代码”以获取有关如何执行此操作的说明。)

您还可以使用htmlentities($_POST['instructions])htmlspecialchars($_POST['instructions])将 HTML 标记更改为实体,这将导致它们被打印到浏览器。

于 2016-08-16T12:20:51.803 回答