【问题标题】:PHP Filter Sanitize Number Int removing signsPHP Filter Sanitize Number Int 去除标志
【发布时间】:2021-04-29 08:13:02
【问题描述】:

我正在尝试清理一串数字,同时删除减号和加号。我一直在研究,但没有找到任何东西。

  • 基本上我想要的是以下内容:

存在,例如 $_GET = "%'¡-8"

$foo = filter_var($_GET, FILTER_SANITIZE_WHATEVER)
  • 预期

返回 8

【问题讨论】:

  • 你不能让它的功能与设计的不同。您只需要使用FILTER_SANITIZE_NUMBER_INT 并添加一个额外的操作来提取您想要的值,例如abs

标签: php sanitization


【解决方案1】:

一种方法是在转换为 INT 之前使用 preg_replace 删除所有非数字字符。这可确保在尝试正常清理之前传递有效的数字字符串。

    $string = "%'¡-8"
    $value = preg_replace("/[^0-9]/", "", $string);
    $sanitized = (int) $value; 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2011-04-24
    • 2018-01-30
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    相关资源
    最近更新 更多