首页 > 编程语言 >PHP检测一个字符串中是否包含另外一个字符或字符串

PHP检测一个字符串中是否包含另外一个字符或字符串

时间:2022-08-24 13:36:11浏览次数:87  
标签:字符 函数 字符串 PHP match string

编写程序的时候,经常要处理字符串,最基本就是字符串的查找,您可能需要检查字符串是否包含特定的字符或子字符串,因为您可能必须对该子字符串或字符执行某些操作。我们将使用下面的3个php内置函数来检查一个字符串是否包含特定字符。

  1. PHP strrpos()函数
  2. PHP strstr()函数
  3. PHP preg_match()函数

 

PHP strrpos()函数

strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。根据strrpos() 函数的特征,我们可以使用它来判断一个字符串中是否包含指定字符串。

首先来看一下strrpos()函数的语法和参数。

语法:

strrpos(string,find,start)

参数详细描述:

参数描述
string 必需。规定被搜索的字符串。
find 必需。规定要查找的字符。
start 可选。规定在何处开始搜索。

注意:字符串位置从 0 开始,不是从 1 开始。

例子:

<?php
	//从提交的表单中获取邮件信息并保存到变量$email中
	$email = $_POST['email'];

	//Inside if, we check using strpos function
	if (strpos($email, '@') !== false) {
		print 'There was @ in the e-mail address!';
	} else {
		print 'There was NO @ in the e-mail address!';
	}
?>

如何需要查找的字符对大小写不敏感,你可以使用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 'Found!';
} else {
  echo 'Not found!';
}

 

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("/neeDle/i", "There's a small needle in a haystack")) {
    echo "Found!";
} else {
    echo "Not found!";
}

正则表达式最后的字符“i”表示匹配不区分大小写。

以上就是本文的全部内容,希望对大家的学习有所帮助。更多教程请访问码农之家

标签:字符,函数,字符串,PHP,match,string
From: https://www.cnblogs.com/myhomepages/p/16619547.html

相关文章

  • PHP删除数组元素的三种常用方法
    在PHP网络编程中,你可能需要删除数组中的一些元素,在本文章中,我们将演示并描述php如何删除数组元素。文章一共列举了三种方法来实现这一功能:phpunset()函数phparray_sp......
  • PHP array_chunk()函数
    array_chunk()函数是PHP中的内置函数,用于根据传递给函数的参数将数组拆分为给定大小的部分或块。最后一个块可能包含的元素少于块的所需大小。语法:arrayarray_chunk($ar......
  • PHP多维数组按照某个字段进行排序
    作为开发人员,您可能会遇到这种情况,即数据库中有一个按特定顺序获取的数据列表,但您希望在前端显示这些项目时安装期中某一个字段进行排序。比如数组:$mylist=array(arra......
  • PHP+AJAX实现异步上传文件
    文件上传功能是动态Web应用程序的常用功能。通常,php采用提交表单并刷新页面的方法上传文件。但是,如果您想提供更好的用户体验,则可以使用jQuery和Ajax来上传文件而无需刷新......
  • 艾思软件「aisisoft.com.cn」出品,前后端ThinkPHP分离技术框架
    GIT址址:https://gitee.com/aisisoft/ai-admin 基于thinkphp6,vue2,element-ui.一款简单实用的客户管理,案例展示系统后端1.基于thinkphp6+vue2+ElementUI......
  • pgsql截取指定字符的前半部分数据和后半部分数据
    --截取指定字符最后出现的前半部分selectreverse(substr(reverse('/C107341723B_145404/01/0_20220802_145505552.jpg'),position('/'inreverse('/C107341723B_145404/......
  • PHP-PHP升级
    开始升级PHP查看版本修订记录版本是否发布2020-09-23v1.0否CentOS7下安装PHP默认是5.4的,但是有些框架要求PHP的版本得在5.4以上,现在的框架大多要求ph......
  • 无重复字符的最长子串
    题目给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。......
  • 通过字符串动态实现效果
    动态导包import('')动态获取属性__getattribute__和getattrclassA:a=1def__init__(self):self.b=2@staticmethoddefgetname():......
  • leetcode97-交错字符串
    交错字符串dp定义一个二维的dp数组,表示s1选取i个字符和s2选取j个字符组成s3的前i+j个字符能否成立。dp递归方程:如果i==0&&j==0,表示没有任何字符,true如......