PHP中检索字符串的方法分析【strstr与substr_count方法】

本文实例分析了PHP中检索字符串的方法。分享给大家供大家参考,具体如下:

在PHP中,提供了很多用于查找字符串的函数,PHP也可以像Word那样实现对字符串的查找功能。

应用strstr()函数检索指定的关键字

获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回false。

语法如下:

string strstr (string haystack,string needle)

参数haystack为必选参数,用来指定从哪个字符串中进行搜索。参数needle为必选参数,用来指定搜索的对象,如果该数是一个数值,那么将搜索与这个数值的ASCII值相匹配的字符。

注:本函数区分字母的大小写

header("Content-Type: text/html; charset=utf-8");
echo strstr("jb51我们","本");
echo "<br>";
var_dump(strstr("jb51我们","5"));
echo "<br>";
echo strstr("http://www.jb51.net","w");

运行结果为:

本之家
bool(false)
www.jb51.net

注:strrchr()函数与此正好相反,是从字符串的末尾开始检索,到第一次检索到的开始往后截取

echo strrchr("http://www.jb51.net","w");

输出结果为:

w.jb51.net

应用substr_count()函数检索子串出现的次数

int substr_count(string haystack,string needle)

参数haystack是指定的字符串,参数needle为指定的字符。

例如:

$str="123453336";
echo substr_count($str,"3");

运行结果为:4

提示:从表面上看,该函数的功能就是获取指定字符在字符串中出现的次数,输出的只是一个数字,但在实际运用中,只要对输出的数字加以判断,就能够实现不同功能。

技巧:检索子串出现的次数一般用于搜索引擎中,针对子串在字符串中出现的次数经行统计,便于用户第一时间掌握子串在字符中出现的次数。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP redis实现超迷你全文检索

    情景: 我们平台有好多游戏, 运营的同事在查询某一款游戏的时候, 目前使用的是html的select下拉列表的展现形式, 运营的同事得一个个去找,然后选中,耗时又费眼 效果: 输入"三国"或者"国三", 将自动列出所有包含"三国"的游戏名字, 输入不限顺序; 例如输入"杀三国",仍然会将"三国杀"这款游戏找出来 实现: 我用redis的集合+PHP的array_intersect()和mb系列函数, 实现了

  • php检索或者复制远程文件的方法

    本文实例讲述了php检索或者复制远程文件的方法.分享给大家供大家参考.具体实现方法如下: <?php if(!@copy('http://someserver.com/somefile.zip','./somefile.zip')) { $errors= error_get_last(); echo "COPY ERROR: ".$errors['type']; echo "<br />\n".$errors['message']; } else

  • PHP+sqlite数据库操作示例(创建/打开/插入/检索)

    本文实例讲述了PHP+sqlite数据库操作的方法.分享给大家供大家参考,具体如下: SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非 常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相 结合,比如Tcl.PHP.Java等,还有ODBC接口,同样比起MySQL.PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理 速度比他们都

  • WordPress中用于检索模版的相关PHP函数使用解析

    locate_template() 用来检索存在的优先级最高的模板文件,还能直接加载模板文件. locate_template() 函数检索时,如果有子主题则优先使用子主题的模板,没有再继续检索父主题. 用法 locate_template( $template_names, $load, $require_once ); 参数 $template_names (数组)(必须)要引入的模板文件名(需要扩展名),会根据数组逐个匹配文件是否存在,越前边的优先级越高. 默认值:None $load (

  • PHP中检索字符串的方法分析【strstr与substr_count方法】

    本文实例分析了PHP中检索字符串的方法.分享给大家供大家参考,具体如下: 在PHP中,提供了很多用于查找字符串的函数,PHP也可以像Word那样实现对字符串的查找功能. 应用strstr()函数检索指定的关键字 获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串.如果执行成功,则返回剩余字符串(存在相匹配的字符):如果没有找到相匹配的字符,则返回false. 语法如下: string strstr (string haystack,string needle) 参数haysta

  • python 将列表中的字符串连接成一个长路径的方法

    今天实习公司分配了一个数据处理的任务.在将列表中的字符串连接成一个长路径时,我遇到了如下问题: import os path_list = ['first_directory', 'second_directory', 'file.txt'] print os.path.join(path_list) 发现 os.path.join 之后,依然是字符串列表.这我就纳闷了: ['first_directory', 'second_directory', 'file.txt'] 细思后想明白了,os

  • 在C++中把字符串转换为整数的两种简单方法

    目录 C++中的数据类型 如何在C++中声明和初始化 int s 如何在C++中声明和初始化 string s 如何使用 stoi() 函数将字符串转换为int 如何使用stringstream 类将一个字符串转换为一个int 总结 当你用C++编码时,经常会有这样的时候,你会想把一种数据类型转换为另一种. 在这篇文章中,你将看到两种最流行的方法来学习如何在C++中把字符串转换为整数. 让我们开始吧! C++中的数据类型 C++编程语言有一些内置的数据类型. int,用于整数(整数)(例如10,

  • Python中实现字符串类型与字典类型相互转换的方法

    本文以实例形式简述了Python中字符串类型与字典类型相互转换的方法,是比较实用的功能.具体方法如下: 一.字典(dict)转为字符串(string) 我们可以比较容易的将字典(dict)类型转为字符串(string)类型. 通过遍历dict中的所有元素就可以实现字典到字符串的转换: for key, value in sample_dic.items(): print "\"%s\":\"%s\"" % (key, value) 二.字符串(s

  • javascript中html字符串转化为jquery dom对象的方法

    原html字符串如下: var text="<div id='overLay' style='width:50px;height:60px;background:url(imgs/back.png) left top no-repeat; position: absolute;'>" + "<img style='margin-left:4px;margin-top: 3px;' src='ima.png' width='43px' height='43px

  • sql中left join的效率分析与提高效率方法

    网站随着数据量与访问量越来越大,访问的速度变的越来越慢,于是开始想办法解决优化速度慢的原因 下面是对程序中一条sql的分析过程,当然程序的执行效率不单单是sql语句的问题,还有可能是服务器配置,网速,程序语言等各方法的问题,今天我们先来分析一下sql语句中left join的效率问题 sql语句中包含以下信息: 1.sql包含数据处理函数,比如nvl函数,case when函数等 2.sql中包含inner join,left join等关联关系 3.sql中有排序和分页 下面是分析过程 1.首

  • Shell中判断字符串是否为数字的6种方法分享

    本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下. #!/bin/bash ## 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is numbers 第一个-n是shell的测试标志,对后面的串"`

  • asp.net中url字符串编码乱码的原因与解决方法

    先看实例 复制代码 代码如下: function webChart() {            var t = document.getElementById("txtReceive");            if (t.value == null || t.value == "") {                alert("请先进行查询");            }            else { alert(t.value);

  • JS二级菜单不同实现方法分析【4种方法】

    本文实例讲述了JS二级菜单不同实现方法.分享给大家供大家参考,具体如下: 之前面试的时候被问到过一次,后来,在笔试的时候又遇到了,为了长点记性,就决定把这个好好写写. 第一种: 第一种是采用css来控制的:主要采用float,和position,display,hover来完成的.具体看以参看后面的源代码. 第二种: 主要采用hover,和display来实现的. 第三种: 采用的是js来控制的,mouseover,mouseout来控制显示的.当然也利用了css. 第四种: 这种也是纯css的

  • 在SQL中获取一个长字符串中某个字符串出现次数的实现方法

    在SQL中获取一个长字符串中某个字符串出现次数的实现方法 比如有个字符串: X-BGS-2010-09-15-001 我想知道其中'-'出现的次数,可以用下面的方法实现,而不需要复杂的一个个字符分析. declare @a varchar(100)set @a='X-BGS-2010-09-15-001'select len(replace(@a,'-','--'))-len(@a) 通俗一点讲就是 如果要判断表a中的 字段b中存在几个字母c的话,可以这么写 select len(replace

随机推荐