x-Cart 会从发布的数据中剥离标签吗?
Does x-Cart strips tags from posted data?
我从表单发送数据,其中文本区域包含 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 去除了那些标签。
编辑: 此答案是基于您未使用框架或 post.
中的 other method that strips HTML tags 的假设而写的
你的段落标签还在。由于您在浏览器中打印它们,因此浏览器会将它们解释为真实的 <p>
标记。如果您要查看页面的源代码,就会看到标签。 (Google“<your browser name>
查看页面源代码”获取有关如何执行此操作的说明。)
您还可以使用 htmlentities($_POST['instructions])
或 htmlspecialchars($_POST['instructions])
将 HTML 标记更改为实体,这将使它们打印到浏览器。
解决方案是在脚本开头以这种方式设置可信变量:
define('USE_TRUSTED_POST_VARIABLES', 1);
$trusted_post_variables = array('intro', 'instructions');
这样 x-cart 就不会去除任何标签。
感谢您的帮助,对于造成的困惑,我们深表歉意。
我从表单发送数据,其中文本区域包含 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 去除了那些标签。
编辑: 此答案是基于您未使用框架或 post.
中的 other method that strips HTML tags 的假设而写的你的段落标签还在。由于您在浏览器中打印它们,因此浏览器会将它们解释为真实的 <p>
标记。如果您要查看页面的源代码,就会看到标签。 (Google“<your browser name>
查看页面源代码”获取有关如何执行此操作的说明。)
您还可以使用 htmlentities($_POST['instructions])
或 htmlspecialchars($_POST['instructions])
将 HTML 标记更改为实体,这将使它们打印到浏览器。
解决方案是在脚本开头以这种方式设置可信变量:
define('USE_TRUSTED_POST_VARIABLES', 1);
$trusted_post_variables = array('intro', 'instructions');
这样 x-cart 就不会去除任何标签。
感谢您的帮助,对于造成的困惑,我们深表歉意。