400-800-9385
网站建设资讯详细

程序开发之一个字符串包含另一个字符串

发表日期:2022-10-25 11:29:27   作者来源:黎云辉   浏览:789   标签:程序开发    
在程序的时候,经常要处理字符串,最基本就是字符串的查找,可能需要检查字符串是否包含特定的字符或子字符串,因为必须对该字符串或字符执行某些操作。一般使用下面的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