[英]php - filter_var() expects 3 arguments max
I'm using filter_var()
over my strings to sanitize them. 我在字符串上使用
filter_var()
进行清理。
return filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP);
filter_var()
takes at most 3 arguments, but it gives so many options and I WANT ALL OF THEM!!! filter_var()
最多接受3个参数,但它提供了很多选项,我想全部使用!!!
How do I do this properly? 如何正确执行此操作? The examples here: http://php.net/manual/en/filter.filters.sanitize.php don't seem to use more than one at a time.
此处的示例: http : //php.net/manual/en/filter.filters.sanitize.php似乎一次不会使用多个。
Surely someone must have wanted to strip both ASCII<32 and ASCII>127 without calling filter_var()
twice at some point, right? 当然有人必须要剥离ASCII <32和ASCII> 127而不在某个时候两次调用
filter_var()
,对吗? Is it as simple as doing FILTER_FLAG_STRIP_LOW & FILTER_FLAG_STRIP_HIGH? 它像执行FILTER_FLAG_STRIP_LOW和FILTER_FLAG_STRIP_HIGH一样简单吗? Or maybe using a bitwise or?
还是使用按位或?
They're bit flags - if you want to use multiple flags, you have to bitwise-OR them into a single value: 它们是位标志-如果要使用多个标志,则必须将它们按位或为单个值:
filter_vars($str, FILTER_SANITIZE_STRING, flag1 | flag2 | .... | flagN)
^-------^---etc...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.