猿问

有没有一种方法可以在给定的PHP清理或验证过滤器中传递多个过滤器标志选项?

对于给定的文本字段数据输入,我想将ASCII字符值限制为大于31且小于128。

我了解如何为给定的消毒过滤器ID传递一个标志选项。是否可以通过两个不冲突的标志选项?

https://www.php.net/manual/zh-CN/filter.filters.flags.php https://www.php.net/manual/zh-CN/filter.filters.sanitize.php

我试图使用其他逗号传递其他标志。

filter_var($data, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH);

我希望能够传递两个不冲突的选项,例如FILTER_FLAG_STRIP_LOWFILTER_FLAG_STRIP_HIGH组合或FILTER_FLAG_ENCODE_LOWFILTER_FLAG_ENCODE_HIGH组合。由于该函数的语法无效,因此无法确定结果。


叮当猫咪
浏览 146回答 1
1回答

杨魅力

您需要对|标志值进行按位或(运算符)并将其传递给:filter_var($data, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);从手册:options选项的关联数组或标志的按位析取"bitwise disjunction"是另一种说法bitwise OR。
随时随地看视频慕课网APP
我要回答