在发送到“%s”参数之前,是否需要清理$_POST[‘Keyword’]?

时间:2021-05-05 作者:user205932

有人知道如何清理wordpress的$\\u帖子吗?

$args = array(
   \'s\' => esc_attr( $_POST[\'keyword\'] ),
);

2 个回复
SO网友:ZealousWeb

您可以使用以下WordPress函数清理该值:

sanitize_text_field( $_POST[\'keyword\'] );
您还可以在此处查看更多详细信息:https://developer.wordpress.org/reference/functions/sanitize_text_field/

SO网友:HK89

您可以使用默认的PHP FILTER\\u SANITIZE\\u STRING FILTER从字符串中删除标记并删除或编码特殊字符。

可能的选项和标志:

  • FILTER_FLAG_NO_ENCODE_QUOTES - 不要对引号进行编码FILTER_FLAG_STRIP_LOW - 删除具有ASCII值的字符(<;32英寸FILTER_FLAG_STRIP_HIGH - 删除ASCII值大于等于的字符;127FILTER_FLAG_ENCODE_LOW - 使用ASCII值对字符进行编码<;32英寸FILTER_FLAG_ENCODE_HIGH - 使用ASCII值对字符进行编码>;127FILTER_FLAG_ENCODE_AMP - 对“进行编码”&"E;&字符到
用法:

$filtervar = filter_var($_POST[\'keyword\'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
$args = array(
  \'s\' => $filtervar
 );
示例:

<?php
$str = "<h1>Hello WorldÆØÅ!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
echo $newstr;
?>
输出:你好,世界!

相关推荐

如何改进我的非唯一元数据MySQL条目?

我正在为WooCommerce开发一个插件,它使用一个名为Restock的cpt。在重新进货后,您可以输入产品(id)和重新进货。用户可以在每篇文章中添加任意数量的产品补货对。我当前正在将每个id/重新进货条目保存为元数据值内的关联数组。add\\u post\\u meta中的最后一个参数($unique)设置为false,因此我可以添加与重新进货的产品一样多的值。foreach ( $new_content as $new_product ) { $new_product = arra