php中处理字符串的常见函数
编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便。
1. strstr
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
代码如下:
1
2
3
4
5
6
7
|
<?php /*如手册上的举例*/ $email = 'user@example.com' ; $domain = strstr ( $email , '@' ); echo $domain ; // prints @example.com ?> |
2. stristr
stristr() 函数查找字符串在另一个字符串中第一次出现的位置。
如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。
它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
3. strpos
strpos函数返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.
实例1
1
2
3
4
5
|
if ( strpos ( 'www.jb51.net' , 'jb51' ) !== false){ echo '包含jb51' ; } else { echo '不包含jb51' ; } |
实例2
1
2
3
|
$str = 'abc' ; $needle = 'a' ; $pos = strpos ( $str , $needle ); // 返回第一次找到改字符串的位置,这里返回为1,若查不到则返回False |
4. explode
用explode进行判断PHP判断字符串的包含代码如下:
1
2
3
4
5
6
7
8
9
|
function checkstr( $str ){ $needle = 'a' ; //判断是否包含a这个字符 $tmparray = explode ( $needle , $str ); if ( count ( $tmparray )>1){ return true; } else { return false; } } |
5、substr例如我们需要判断最后一个字符是不是制定字符
1
2
3
4
5
6
|
<?php /* $str1 = "<p>这是个winrar专用的dll然后下哦啊不错的dll文件,QlogWin32.dll</p>" ; if ( substr ( $str1 ,-8)== ".dll</p>" ){ echo substr ( $str1 ,0,-4); } |
6、substr_count统计“子字符串”在“原始字符串中出现的次数”
substr_count()函数本是一个小字符串在一个大字符串中出现的次数:
$number = substr_count(big_string, small_string);
正好今天需要一个查找字符串的函数,要实现判断字符串big_string是否包含字符串small_string,返回true或fasle;
查了半天手册没有找到现成的函数,于是想到可以用substr_count函数来实现代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
function check_str( $str , $substr ) { $nums =substr_count( $str , $substr ); if ( $nums >=1) { return true; } else { return false; } } |
php中处理字符串的常见函数的更多相关文章
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- 使用strings查看二进制文件中的字符串
使用strings查看二进制文件中的字符串 今天介绍的这个小工具叫做strings,它实现功能很简单,就是找出文件内容中的可打印字符串.所谓可打印字符串的涵义是,它的组成部分都是可打印字符,并且以nu ...
- 在 case 语句中使用字符串-转
http://www.cnblogs.com/del/archive/2008/07/08/1237856.html 非常遗憾 Delphi 的 case 语句不支持字符串, 但我觉得这也可能是基于效 ...
- 使用Microsoft Roslyn提取C#和VB.NET源代码中的字符串常量
Microsoft Roslyn是微软.NET“编译器即服务(Compiler as a Service)”的主要产品,它提供了开放的编译器API,并为源代码产生.分析和重构提供了新一代的语言对象模型 ...
- SQL Server中截取字符串常用函数
SQL Server 中截取字符串常用的函数: .LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要截 ...
- 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)
说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...
- 7.Java中的字符串
1.String的特性 特性一:不可变性 String s=new String("yangyun") s=s.toUpperCase(); 这里的s,s占用的空间是不一样的(地址 ...
- C# 利用占位符替换word中的字符串和添加图片
利用占位符替换word中的字符串和添加图片 ///<summary> /// 替换word模板文件内容,包括表格中内容 /// 调用如下:WordStr ...
- 使用C#程序处理PowerPoint文件中的字符串
最近, 有同事偶然发现Microsoft Office PowerPoint可以被看作是一个压缩包,然后通过WinRAR解压出来一组XML文件.解压出来的文件包括: 一个索引文件名称为:[Conte ...
随机推荐
- Regionals 2014 >> Asia - Taichung 7003 - A Balance Game on Trees 树形DP + 二维费用背包
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- HDU 5775 L - Bubble Sort 树状数组
给定一段冒泡排序的代码,要求输出每个数字能到达的最右边的位置和最左边的位置的差 因为那段冒泡排序的代码是每次选取一个最小的数,放在左边的,所以,每个数最多能到达右边的位置应该是起始位置i+右边有多少个 ...
- 如何在mssql中获取最新自增ID的值
@@IDENTITY 返回最后一个插入 IDENTITY 的值,这些操作包括:INSERT, SELECT INTO,或者 bulk copy.如果在给没有 IDENTITY 列的其他表插入记录,系统 ...
- Hadoop实战:用Hadoop处理Excel通话记录
项目需求 有博主与家庭成员之间的通话记录一份,存储在Excel文件中,如下面的数据集所示.我们需要基于这份数据,统计每个月每个家庭成员给自己打电话的次数,并按月份输出到不同文件夹. 数据集 下面是部分 ...
- Java 内存模型(一)
打算花比较长的篇幅来描述下自己理解的JVM,尽量描述的清晰易懂一些,从简单慢慢到慢慢深入,一方面自己也复习一下,一方面也供大家参考,少走些弯路.鉴于本人水平有限,如有错误的地方,欢迎指出,感谢. 一段 ...
- selenium常用方法,简版介绍
WebElement 接口共计16个------------接口 代表一个HTML元素.通常,所有与页面交互有关的有趣操作都将通过此界面执行. void clear() void click() We ...
- Http请求get、post工具类
在网上找了好久都没有找到post.get请求的工具类,现在整理了一下分享出来.http工具类如下: package com.qlwb.business.util; import java.io.Buf ...
- 018.Java类加载器
https://www.ibm.com/developerworks/cn/java/j-lo-classloader/ 类加载器(class loader) 用来加载 Java 类到 Java 虚拟 ...
- 零基础逆向工程32_Win32_06_通用控件_VM_NOTIFY
标准控件与可用控件 windows标准控件,标准控件总是可用的 Static Group Box Button Check Box Radio Button Edit ComboBox ListBox ...
- zabbix-3.4-服务监控
服务监控 总览 服务监控(services monitoring)旨在帮助那些想要高级(业务)基础设施的监控的人.在许多情况下,我们关注的不是底层细节,比如磁盘空间不足.CPU 负载高等.我们关注的是 ...