php字符串实例应用大全:字符串截取,查找,替换

php开发过程中,经常会用到一些针对字符串的操作,如截取啊,查询啊,替换啊;形式多样,层出不穷。然而,具体到应用时,总想不起具体使用方式,查询网上总没有一个非常全面的整理。不论是博客上还是官网上,都不全面,有的只是文字说明,有的只是简单实例,都不具有实战性。
基于此,整理本文;本文几乎全部是实例;看着非常方便。

//【01】根据指定特殊字符截取字符串
var_dump(substr('linshi2_abc',0,6));//string(6) "linshi"
var_dump( strpos('sv12223_', '_') );die;//int(7)
var_dump( strpos('济南市泉城路', '济南') );die;//int(0)
var_dump( strpos('sv12223', '_') );die;//bool(false)

$email='php8@163.com';
echo strstr($email,'@',true);//结果是:php8
echo strstr($email,'@');//结果是:@163.com
echo substr($email,0,strpos($email, '@'));//结果是:php8
echo substr($email,strpos($email, '@')+1);//结果是:163.com
echo substr($email, -7, 7);//结果是:163.com
echo substr($email,strpos($email, '@'));//结果是:@163.com

//根据指定特定的字符截取之前的内容【英文字符】
$aaa='111。222.333。444.555。666';
$qian = substr($aaa,0,strrpos($aaa,'.'));//打印结果为:111。222.333。444
$hou = substr($aaa,strripos($aaa,".")+1);//打印结果为:555。666

//根据指定特定的字符截取之前的内容【中文字符】
$aaa='111。222.333。444.555。666';
$qian = mb_substr($aaa,0,mb_strripos($aaa,'。'));//打印结果为:111。222.333。444.555
$hou = mb_substr($aaa,mb_strripos($aaa,"。")+1);//打印结果为:666
//严谨的使用方式
$qian = mb_substr($aaa,0,mb_strripos($aaa,'。'),'utf-8');//打印结果为:111。222.333。444.555
$hou = mb_substr($aaa,mb_strripos($aaa,"。")+1,mb_strlen($aaa,'utf-8'),'utf-8');//打印结果为:666

//【02】含中文的字符串截取大全
$str='学习php,就在,php8.xyz';//注意两个逗号,前面为中文逗号,后面为英文逗号
echo substr($str,0,1);//结果是:�,乱码1个
echo substr($str,0,2);//结果是:��,乱码2个
echo substr($str,0,3);//结果是:学,字一个
echo substr($str,0,4);//结果是:学�,字一个乱码一个
echo substr($str,0,7);//结果是:学习p
echo substr($str,0,9);//结果是:学习php
echo substr($str,0,10);//结果是:学习php�
echo substr($str,0,12);//结果是:学习php,
echo substr($str,0,18);//结果是:学习php,就在
echo substr($str,0,19);//结果是:学习php,就在,
echo substr($str,0,-4);//结果是:学习php,就在,php8

//【03】无乱码方式截取含中文字符串,mb_substr和mb_strcut
$str='学习php,就在,php8.xyz';//注意两个逗号,前面为中文逗号,后面为英文逗号
$code = mb_internal_encoding();
echo $code;//结果是:UTF-8
echo mb_substr($str, 0, 1, $code);//结果是:学
echo mb_substr($str, 0, 2, $code);//结果是:学习
echo mb_substr($str, 0, 3, $code);//结果是:学习p
echo mb_strcut($str, 0, 1, $code);//结果是:无内容
echo mb_strcut($str, 0, 2, $code);//结果是:无内容
echo mb_strcut($str, 0, 3, $code);//结果是:学
echo mb_strcut($str, 0, 7, $code);//结果是:学习p

//区分大小写查找截取
$str='php8-app-App-php';//注意App跟app,一个大写一个小写
echo strstr($str, 'app');//结果是:app-App-php
echo strstr($str, 'App');//结果是:App-php
echo strstr($str, 'app', true);//结果是:php8-
echo strchr($str, 'app');//结果是:app-App-php
echo strchr($str, 'App');//结果是:app-App-php
echo strchr($str, 'app', true);//结果是:php8-


//【05】字符串替换
echo str_replace("world","Shanghai","Hello world!"); //结果是:Hello Shanghai!

//【06】关于strpos查找
$a='《时间》';
$b='<时间>';
var_dump(strpos($a,'《'));//输出:int(0)
var_dump(strpos($a,'》'));//输出:int(9)
var_dump(strpos($a,'间'));//输出:int(6)
var_dump(strpos($b,'间'));//输出:int(4)
var_dump(strpos($b,'>'));//输出:int(7)
var_dump(strpos($b,'》'));//输出:bool(false)

//关于大小写
ucwords("hello world");//把字符串中每个单词的首字符转换为大写
ucfirst("hello world");//把字符串中的首字符转换为大写
strtolower("Hello WORLD");//函数把字符串转换为小写
strtoupper("Hello WORLD");//把字符串转换为大写
lcfirst("Hello world");//把字符串中的首字符转换为小写


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜爱cpp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值