php filtervar url,PHP filter_var()函数

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

基本语法

filter_var(var, filtername, options)

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

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

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

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

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

示例1:过滤字符串

// FILTER_SANITIZE_NUMBER_INT 过滤器删除数字中所有非法的字符。

// 该过滤器允许所有数字以及 +-。

$str = "hello php er7y6t258u8@%^^%%$$#++!";

$newstr = filter_var($str, FILTER_SANITIZE_NUMBER_INT);

echo $newstr; // 762588++

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

?>

示例2:验证IP地址

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

header("content-type:text/html;charset=utf-8");

$ip = "127.0.0.1";

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {

echo("$ip 是有效的IP地址");

} else {

echo("$ip 不是有效的IP地址");

}

// 127.0.0.1 是有效的IP地址

?>

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

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

// FILTER_SANITIZE_EMAIL 过滤器删除字符串中所有非法的 e-mail 字符。

// 该过滤器允许所有的字符、数字以及 $-_.+!*'{}|^~[]`#%/?@&=。

header("content-type:text/html;charset=utf-8");

$email = "148521425@qq.com";

// 从电子邮件中删除所有非法字符

$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// 判断是否为有效的电子邮件

if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {

echo("$email 是一个有效的电子邮件地址");

} else {

echo("$email 不是一个有效的电子邮件地址");

}

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

?>

$var="some(one)@exa\\mple.com";

$var2 = filter_var($var, FILTER_SANITIZE_EMAIL);

var_dump($var2); // string 'someone@example.com' (length=19)

?>

示例4:过滤并验证URL

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

// FILTER_SANITIZE_URL 过滤器删除字符串中所有非法的 URL 字符。

// 该过滤器允许所有的字符、数字以及 $-_.+!*'(),{}|\\^~[]`">

header("content-type:text/html;charset=utf-8");

$url = "https://www.php.cn";

// 从URL中删除所有非法字符

$url = filter_var($url, FILTER_SANITIZE_URL);

// 验证URl是否有效

if (!filter_var($url, FILTER_VALIDATE_URL) === false) {

echo("$url 是一个有效的URL");

} else {

echo("$url 不是一个有效的URL");

}

// https://www.php.cn 是一个有效的URL

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值