手册
目录
PHP 过滤器用于验证和清理外部输入。
PHP 过滤器扩展拥有许多用于检查用户输入的函数,旨在使数据验证更加容易和快速。
可以使用 filter_list() 函数列出 PHP 过滤器扩展提供的内容:
<table>
<tr>
<td>过滤器名称</td>
<td>过滤器 ID</td>
</tr>
<?php
foreach (filter_list() as $id =>$filter) {
echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
}
?>
</table>
运行实例 »点击 "运行实例" 按钮查看在线实例
许多 Web 应用程序接收外部输入。外部输入/数据可以是:
提交的无效数据可能导致安全问题并破坏您的网页!
通过使用 PHP 过滤器,您可以确保您的应用程序获得正确的输入!
filter_var() 函数既可以验证也可以清理数据。
filter_var() 函数使用指定的过滤器过滤单个变量。它需要两个数据块:
下例使用 filter_var() 函数从字符串中删除所有 HTML 标签:
<?php $str = "<h1>Hello World!</h1>"; $newstr = filter_var($str, FILTER_SANITIZE_STRING); echo $newstr; ?>运行实例 »
点击 "运行实例" 按钮查看在线实例
下面的例子使用 filter_var() 函数检查变量 $int 是否为整数。如果 $int 是整数,则下面代码的输出将是:"Integer is valid"。如果 $int 不是整数,则输出将是:"Integer is not valid":
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
运行实例 »点击 "运行实例" 按钮查看在线实例
filter_var() 和 0 的问题在上面的例子中,如果 $int 被设置为 0,上面的函数将返回 "Integer is not valid"。要解决这个问题,请使用以下代码:
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
运行实例 »点击 "运行实例" 按钮查看在线实例
下面的例子使用 filter_var() 函数检查变量 $ip 是否为有效的 IP 地址:
<?php
$ip = "127.0.0.1";
if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
echo("$ip is a valid IP address");
} else {
echo("$ip is not a valid IP address");
}
?>
运行实例 »点击 "运行实例" 按钮查看在线实例
下面的例子使用 filter_var() 函数首先从 $email 变量中删除所有非法字符,然后检查它是否是一个有效的电子邮件地址:
<?php
$email = "john.doe@example.com";
// 从电子邮件中删除所有非法字符
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
// 验证电子邮件
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is a valid email address");
} else {
echo("$email is not a valid email address");
}
?>
运行实例 »点击 "运行实例" 按钮查看在线实例
下面的例子使用 filter_var() 函数首先从 URL 中删除所有非法字符,然后检查 $url 是否是一个有效的 URL:
<?php
$url = "https://www.w3school.com.cn";
// 从 URL 中删除所有非法字符
$url = filter_var($url, FILTER_SANITIZE_URL);
// 验证 url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
echo("$url is a valid URL");
} else {
echo("$url is not a valid URL");
}
?>
运行实例 »点击 "运行实例" 按钮查看在线实例
如需了解所有过滤器函数的完整参考,请转到我们的完整 PHP 过滤器参考。请检查每个过滤器以查看可用的选项和标志。
该参考手册包含每个函数的简短描述和用法实例!
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.3万人学习
共49课时
77.4万人学习
共29课时
62万人学习
共25课时
39.5万人学习
共43课时
71.3万人学习
共25课时
61.9万人学习
共22课时
23.1万人学习
共28课时
34.1万人学习
共89课时
125.8万人学习