在程序的时候,经常要处理字符串,最基本就是字符串的查找,可能需要检查字符串是否包含特定的字符或子字符串,因为必须对该字符串或字符执行某些操作。一般使用下面的3个php内置函数来检查一个字符串是否包含特定字符。
PHP strrpos()函数
PHP strstr()函数
PHP preg_match()函数
PHP strrpos()函数
strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。根据strrpos() 函数的特征,可以使用它来判断一个字符串中是否包含指定字符串。
首先来看一下strrpos()函数的语法和参数。
语法:
strrpos(string,find,start)
参数详细描述:
参数 描述
string 必需。规定被搜索的字符串。
find 必需。规定要查找的字符。
start 可选。规定在何处开始搜索。
注意:字符串位置从 0 开始,不是从 1 开始。
例子:
<?php
//从提交的表单中获取邮件信息并保存到变量$email中
$email = $_POST['email'];
//判断提交的邮箱地址里是否包含@符号
if (strpos($email, '@') !== false) {
print '提交的邮箱地址包含@符号!';
} else {
print '提交的邮箱地址没有包含@符号!';
}
?>
如果需要查找的字符对大小写不敏感,可以使用strripos()。
PHP strstr()函数
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
语法
strstr(string,search,before_search)
参数描述:
参数 描述
string 必需。规定被搜索的字符串。
search
必需。规定所搜索的字符串。
如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符。
before_search
可选。默认值为 "false" 的布尔值。
如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。
例子:
if (false !== strstr($source_str, $substring)) {
echo '包含!';
} else {
echo '未包含!';
}
PHP preg_match()函数
最后一种方法是使用正则表达式结合PHP preg_match 函数检查一个字符串是否包含另一个字符 。如果匹配上,那么函数将返回true,否则返回false。preg_match语法语法如下:
preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
以下是一个非常简单的匹配:
if (preg_match("/Fangwei/i", "https://www.szfangwei.cn/")) {
echo "匹配!";
} else {
echo "未匹配!";
}
正则表达式最后的字符“i”表示匹配不区分大小写。
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/6563.html