PHP如何使用filter_var()函数?(代码示例)

在PHP中,filter_var()函数会使用指定的过滤器来过滤变量;它可以过滤用户传递来的数据。下面本篇文章就来给大家介绍一下filter_var()函数的用法,,希望对大家有所帮助。

PHP filter_var()函数

filter_var()函数使用指定的过滤器来过滤变量;它可用于验证和过滤数据。

基本语法

filter_var(var, filtername, options)

参数:filter_var()函数接受三个参数

● var:表示要过滤的变量,不可省略(必填参数)。

● filtername:用于指定要使用的过滤器的ID或名称。默认值为FILTER_DEFAULT,不会导致过滤;可省略。

● options:用于指定要使用的一个或多个标志/选项。检查每个过滤器是否有可能的选项和标志;可省略。

返回值:过滤成功,则返回已过滤的数据;过滤失败,则返回FALSE。

PHP filter_var()函数的使用示例

示例1:过滤字符串

  1. <?php
  2. $str = "hello php er7y6t258u8@%^^%%$$#++!";
  3. $newstr = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
  4. echo $newstr;
  5. ?>

输出:

762588++

说明:FILTER_SANITIZE_NUMBER_INT表示删除除了数字和 +-的所有其他字符。

示例2:验证IP地址

可以使用filter_var()函数来验证指定的ip地址是否有效。

  1. <?php
  2. header("content-type:text/html;charset=utf-8");
  3. $ip = "127.0.0.1";
  4. if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
  5. echo("$ip 是有效的IP地址");
  6. } else {
  7. echo("$ip 不是有效的IP地址");
  8. }
  9. ?>

输出:

127.0.0.1 是有效的IP地址

示例3:过滤并验证电子邮件(email)地址

filter_var()函数首先会从包含email地址的变量中删除所有非法字符,然后检查它是否是有效的电子邮件地址:

  1. <?php
  2. header("content-type:text/html;charset=utf-8");
  3. $email = "148521425@qq.com";
  4. // 从电子邮件中删除所有非法字符
  5. $email = filter_var($email, FILTER_SANITIZE_EMAIL);
  6. // 判断是否为有效的电子邮件
  7. if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  8. echo("$email 是一个有效的电子邮件地址");
  9. } else {
  10. echo("$email 不是一个有效的电子邮件地址");
  11. }
  12. ?>

输出:

148521425@qq.com 是一个有效的电子邮件地址

示例4:过滤并验证URL

filter_var()函数首先从URL中删除所有非法字符,然后检查是否为有效URL:

  1. <?php
  2. header("content-type:text/html;charset=utf-8");
  3. $url = "https://www.phpfensi.com";
  4. // 从URL中删除所有非法字符
  5. $url = filter_var($url, FILTER_SANITIZE_URL);
  6. // 验证URl是否有效
  7. if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
  8. echo("$url 是一个有效的URL");
  9. } else {
  10. echo("$url 不是一个有效的URL");
  11. }
  12. ?>

输出:

https://www.phpfensi.com 是一个有效的URL