PHP 查找字符串常用函数介绍

一、strstr — 查找字符串的首次出现

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
注1:$haystack是当事字符串,$needle是被查找的字符串。该函数区分大小写。
注2:返回值是从needle开始到最后。
注3:关于$needle,如果不是字符串,被当作整形来作为字符的序号来使用。
注4:before_needle若为true,则返回前东西。


代码如下:

<?php
$email = 'yuxiaoxiao@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com
$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 yuxiaoxiao
?>

二、stristr strstr不区分大小写的版本
三、strpos -查找字符串首次出现的位置

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
注1:可选的 offset 参数可以用来指定从 haystack 中的哪一个字符开始查找。返回的数字位置是相对于 haystack 的起始位置而言的。
四、substr -返回字符串的子串

string substr ( string $string , int $start [, int $length ] )
$rest = substr("abcdef", -1); // 返回 "f"

注1:如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

注2:如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。

注3:如果 string 的长度小于或等于 start,将返回 FALSE。

length

注4:如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。

注5:如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

注6:如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。

注7:如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。


代码如下:

<?php
$rest = substr("abcdef", 0, -1); // 返回 "abcde"
$rest = substr("abcdef", 2, -1); // 返回 "cde"
$rest = substr("abcdef", 4, -4); // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de"
?>

五、strrchr -查找指定字符在字符串中的最后一次出现

string strrchr ( string $haystack , mixed $needle )

该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。

六、strripos -计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
七、stripos -查找字符串首次出现的位置(不区分大小定)
八、strrpos -计算指定字符串在目标字符串中最后一次出现的位置

(0)

相关推荐

  • PHP字符转义相关函数小结(php下的转义字符串)

    文章中有不正确的或者说辞不清的地方,麻烦大家指出了--- 与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addslashes()和stripslashes() 4.mysql_escape_string() 5.addcslashes()和stripcslashes() 6.htmlentities() 和html_entity_decode() 7.htmlspecialchars()和htmlspecialc

  • 详解PHP处理字符串类似indexof的方法函数

    详解PHP处理字符串类似indexof的方法函数 在PHP中处理字符串类似 indexof 的函数或方法有两个,它们是 strpos 函数和 stripos 函数,这两个函数的用法类似. strpos 函数处理字符串时如果包含该字符串,则返回该字符串出现的第一次出现的位置,如果没有出现则返回 false.对字符串大小写敏感. stripos 函数处理字符串时如果包含该字符串,则返回该字符串出现的第一次出现的位置,如果没有出现则返回 false.对字符串大小写不敏感. PHP strpos() 函

  • php字符串截取问题

    但是在英文和汉字混合的情况下会出现如下问题: 如果有这样一个字符串 $str="这是一个字符串"; 为了截取该串的前10个字符,使用 if(strlen($str)>10) $str=substr($str,10)."-"; 那么,echo $str的输出应该是"这是一个字-" 假设 $str="这是1个字符串": 这个串中包含了一个半角字符,同样执行: if(strlen($str)>10) $str=subst

  • PHP通过iconv将字符串从GBK转换为UTF8字符集

    1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件.例如:从GB2312转换为UTF-8. iconv函数在php5中内置,GB字符集默认打开. 2. iconv()错误 iconv在转换字符"-"到gb2312时会出错,解决方法是在需要转成的编码后加 "//IGNORE",也就是iconv函数第二个参数后.如下: 复制代码 代码如下: iconv("UTF-8", "GB2312//IGNO

  • php strstr查找字符串中是否包含某些字符的查找函数

    PHP 判断字符串是否包含其它字符 以下几个函数均可用来判断某字符串是否包含另外一个字符串PHP 中判断一个字符串是否包含其它字符是很常见的操作. 虽然很简单,但还是写了几个函数,质量可能不是很高,权当锻炼. 如果这几个函数恰好能帮上你的忙,我将会很高兴的.这几个函数中,我比较喜欢第四个... 复制代码 代码如下: <?php /** * 以下几个函数均可用来判断某字符串是否包含另外一个字符串 * PHP 中判断一个字符串是否包含其它字符是很常见的操作. * 虽然很简单,但还是写了几个函数,质量

  • PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数

    一.中文截取:mb_substr() mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断开始处,起始处为0 $length,要截取的字数 $encoding,网页编码,如utf-8,GB2312,GBK 实例: 复制代码 代码如下: <?php $str='我们:http://www.jb51.net'; echo mb_substr($str,0,4,'utf-8');//截取头5个字,假定此代码所在php

  • PHP中将字符串转化为整数(int) intval() printf() 性能测试

    背景.概述 早在Sql注入横行的前几年,字符串转化为整数就已经被列为每个web程序必备的操作了.web程序将get或post来的id.整数等值强制经过转化函数转化为整数,过滤掉危险字符,尽可能降低系统本身被Sql注入的可能性. 现如今,虽然Sql注入已经逐渐淡出历史舞台,但是,为了保证web程序的正常运行,减少出错概率,更好的保证用的满意度,我们同样需要将用户的不正确输入转化为我们所需要的. 转化方式 在PHP中,我们可以使用3种方式将字符串转化为整数. 1.强制类型转换方式 强制类型转换方式,

  • PHP preg_replace() 正则替换所有符合条件的字符串

    需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:处理用替换. PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹

  • PHP中去掉字符串首尾空格的方法

    第一种方法:通过php自带的函数 <?php /* trim 去除一个字符串两端空格, rtrim 是去除一个字符串右部空格, ltrim 是去除一个字符串左部空格. */ ?> <?php echo trim(" 空格 ")."<br>"; echo rtrim(" 空格 ")."<br>"; echo ltrim(" 空格 ")."<br>

  • PHP 数组和字符串互相转换实现方法

    复制代码 代码如下: $array=explode(separator,$string); $string=implode(glue,$array); 使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系.当把一个数组转换成一个字符串时,将会设置胶合符--将被插入到生成字符串中的数组值之间的字符或代码. 相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素.例如,以字符串开始: $s1='Mon-Tue-Wed-Thu-Fri'; $da

随机推荐