php - 有没有办法在给定的 PHP 清理或验证过滤器中传递多个过滤器标志选项?
问题描述
对于给定的文本字段数据输入,我想将 ASCII 字符值限制为大于 31 且小于 128。
我了解如何为给定的清理过滤器 ID 传递一个标志选项。是否可以传递两个不冲突的标志选项?
https://www.php.net/manual/en/filter.filters.flags.php https://www.php.net/manual/en/filter.filters.sanitize.php
我试图使用额外的逗号传递一个额外的标志。
filter_var($data, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH);
我希望能够传递两个不冲突的选项,例如FILTER_FLAG_STRIP_LOW
,FILTER_FLAG_STRIP_HIGH
组合或FILTER_FLAG_ENCODE_LOW
,FILTER_FLAG_ENCODE_HIGH
组合。由于函数的语法无效,无法确定结果。
解决方案
您需要对|
标志值进行按位或(运算符)并将其传递:
filter_var($data, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH);
从手册:
options 选项
的关联数组或标志的按位分离
"bitwise disjunction"
是另一种说法bitwise OR
。
推荐阅读
- ruby-on-rails - Rails / Postgres:警告:隐式转换失去整数精度:“long”到“int”
- linux - 在文件夹中搜索关键字并使用相同的键拆分输出
- c# - 全名解析和数据库比较
- database-design - Cassandra:升级和搜索分区键不同
- android - Dagger Hilt 没有在测试中注入
- amqp - 使用 amq 7.1 的 Geoserver 2.16 集群。可以向 amq 发送消息并看到我已连接,但未收到消息
- c++ - 带有 C 库的 QtCreator 中的链接器问题
- python - 如何使用python在pdf中设置页脚(django with pisa)
- php - 在 mime_content_type() 中在 Wordpress 中上传图片时出错
- python-3.x - 使用 Python 创建唯一键的更有效方法