Blogger Information
Blog 15
fans 0
comment 0
visits 9558
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php基础实例演示字符串2018年8月27日20时00分
Kenxc2011的博客
Original
602 people have browsed it

1、实例演示substr(),strstr(),strpos()函数

实例

<?php 

/**
 * 1.substr(): 根据位置查找,输入位置,返回字符串
 * 2.strstr(): 根据值查找,返回字符串
 * 3.strpos(): 根据值查找,返回位置
 */



/**
 * 一、substr($str,$offset, $length)
 * 1.功能: 获取指定位置或区间内的字符串
 * 2.参数: $str(必),$offset(必),$length(选)
 * 3.返回: 不指定长度,则返回指定位置之后所有字符串,指定区间则返回指定长度的字符串
 * 4.场景: 适合只知道取串的位置,主要用于精确查询
 */

$str = 'PHP is the best programming language';

//substr()从指定位置进行返回,适用于子串位置已知
//索引11是'best'字符串开始处,返回'b'之后全部内容
echo substr($str, 11), '<br>';
//设置区间查询
//索引11开始的4个字符: 'best'
echo substr($str, 11,4), '<br>';
//负数,则是从结尾开始取
echo substr($str, -3), '<hr>'; //'age'


/**
 * 二、strstr($str1, $str2,bool)
 * 1.功能: 查找字符串的首次出现
 * 2.参数: $str1(必),$str2(必)要查询的子串,bool:true,返回前面部分,false返回后面(默认)
 * 3.返回: 返回查到的字符串后面或前台部分字符,没找到返回false
 * 4.场景: 适合只知道查询内容,不知道准确位置的情况下,进行模糊查询
 * 5.提示: 如果仅仅是判断查询的内容是否在字符串,应该用更快的strpos()函数
 * 6.类似: stristr()不区分查找子中的大小写
 */

$email = 'admin@php.cn';
//查询'@'是否存在并返回@以及后面的内容(包括@): @php.cn
echo strstr($email,'@'), '<br>';
//查询'@'是否存在并返回@前面的内容(不包括@): admin
echo strstr($email,'@',true), '<br>';

/**
 * 三、strpos($str1,$str2,$start)
 * 1.功能: 查找字符串首次出现的位置
 * 2.参数: $str1(必),$str2(必)要找的字符串,$start(选)查询起始索引,默认从0开始
 * 3.返回: 目标字符串的起始索引
 * 4.场景: 快速判断某个字符串是否存在
 * 5.类似: stripos()查询时不区分大小写
 */

//如果只是想知道是否存在某个字符串,使用subpos()直接返回子串偏移量效率更高
echo strpos($str,'best');

运行实例 »

点击 "运行实例" 按钮查看在线实例

2、实例演示str_replace(), substr_replace()

实例

<?php 
/**
 * 字符串查找并替换的二大函数
 * 1.str_replace()
 * 2.substr_replace()
 */

$str = 'Peter Zhu is PHP lecture';

//1.str_replace()
echo str_replace('PHP', 'JAVA', $str), '<br>';

//2.删除指定字符:用空字符替换即可
echo str_replace('Zhu', '', $str), '<br>';

//3.要被替换的多个子字符串,可以存放到数组中
echo str_replace(['Peter', 'Zhu', 'PHP'], '朱老师', $str), '<br>';

//4.新字符串也可以来自数组,但数量必须要被替换数组相同
echo str_replace(['Peter','Zhu','lecture'],['彼得','朱','讲师'], $str), '<br>';

//类似:str_ireplace()你可能已经猜到了,这是不区分被替换字符串大小写的替换
echo str_ireplace('php','python', $str), '<br>';

/*********************************************************************/

echo '<hr>';
//2.substr_replace($str, $object, $offset, $length),$offset和$length指定了替换的索引区间
//从0开始替换到$str结束,用新字符串:PHP是最好的编程语言
echo substr_replace($str, 'PHP是最好的编程语言',0),'<br>';
//等价于
echo substr_replace($str, 'PHP是最好的编程语言',0,strlen($str)),'<br>';

//在$str中插入字符
//插入后的结果如下: Peter Zhu is PHP中文网的PHP leture
//其中: PHP中文网 是插入的内容, $length=0,表示插入到这个位置
echo substr_replace($str, 'PHP中文网',13,0), '<br>';

//将PHP替换成JAVA
echo substr_replace($str, 'JAVA',13,3), '<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post