1,获取字串:substr($str,$start,$length)

 mb_substr($str,$start,$length,'utf-8'); 更换为utf8编码,能准确的截取中文

<?php
$email = 'clinqxia@qq.com';
echo '原始字符串:'.$email; echo '<hr>';
//从0角标开始,获取7个字符
echo substr($email,0,7);echo '<hr>';
//-3:负数表示从末尾往前数
echo substr($email,-3,3);echo '<hr>';
?>

2,替换字符串:substr_replace()

<?php
$email = 'clinqxia@qq.com';
echo '原始字符串:'.$email; echo '<hr>';
//注意,从负数和正数不同,负数是从-1开始数,正数从0开始
echo substr_replace($email,'163',9,2);echo '<hr>';
echo substr_replace($email,'cn',-3,3);echo '<hr>'; //将字串长度设置为0,实现无删除的插入
echo substr_replace($email,'_zhu',8,0);echo '<hr>';
//设置空字串,是实现插入式的删除
echo substr_replace($email, '', 0,4);echo '<hr>';
//在起始位置插入字符
echo substr_replace($email, '我的邮箱:', 0,0);echo '<hr>';
?>

3,substr_count():查询字串出现的频率(次数)  

<?php
$email = 'My blog name is cl94,welcome to my blog';
echo '原始字符串:'.$email; echo '<hr>';
echo substr_count($email,'blog',0,10); echo '<hr>';
?>

4,substr_compare($str,$str1,startpos):比较字串

<?php
$str1 = 'My blog name is cl94,welcome to my blog';
$str2 = 'My blog';
//startpos:规定在 string1 中的何处开始比较。如果为负数,则从字符串末端开始计数。
//返回结果 (0:相等;<0:$str1<$str2; >0:$str1>$str2);
//比较的是ascii值
echo substr_compare($str1, $str2,0); echo '<hr>'; echo substr_compare($str1, $str2,0,7);echo '<hr>'; ?>

5,strlen():得到字符串的长度

<?php
$str1 = 'China';
$str2 = '中国'; echo strlen($str1); echo '<hr>';
//strlen()无法正确处理中文字符串,它得到的只是字符串所占的字节数
echo strlen($str2);echo '<hr>';
//我们可以用mb_来指定编码以针对正文
echo mb_strlen($str2,'utf-8'); ?>

 

6,strpos():获取子串的位置,字串检索函数,根据内容查找索引

  

<?php

$str1 = 'adaad  fwwr<h2>这里是我们要获取的有效字串</h2>d2asasdaqr';
//返回字串的索引
echo $start = strpos($str1,'<h2>',0); echo '<hr>';
echo $end = strpos($str1,'</h2>',0); echo '<hr>';
//这个可以用作爬虫
echo substr($str1,$start+4,$end-($start+4));
?>

7,strstr($str1,$str2):查找子串匹配位置后的所有字符

<?php

$str1 = '我是小跳蛙';

echo strstr($str1,'小'); echo '<hr>';
//反向取
echo strstr($str1,'小',true);
?>

8,字符串替换函数

<?php

$email = 'chenglin@163.com';
echo $email;echo '<hr>';
echo str_replace('163','qq',$email);echo '<hr>'; //将参数变成数组进行替换
$hobby = '我最喜欢吃苹果、香蕉、桃子';
echo $hobby;echo '<hr>';
$rep1 = ['苹果','香蕉','桃子'];
$rep2 = ['木瓜','菠萝','榴莲'];
echo $hobby = str_replace($rep1,$rep2,$hobby);echo '<hr>'; $url = 'c://demo/index.php';
echo str_replace('/','\\',$url);
?>

9,explode():字符串的分割

   implode():将数组组合成字符串

<?php
//字符串的分割
$path = 'C://www/blog/index.php';
dump(explode('/',$path));echo '<hr>'; //字符串的组合
$city = implode('--',['合肥','芜湖','安庆','六安']);
if(is_string($city)){
echo $city;
}
?>

应用

<?php
//判断a字符串是否以b字符串开头
//用到strpos()函数
$a = '上海交通大学';
if(strpos($a,'上海',0)===0){
echo '$a以上海开头';echo '<hr>';
} //判断a字符串是否以b字符串结束
//用到substr_compare()函数、strlen()函数
if(substr_compare($a,'大学',-strlen('大学'))===0){
echo '$a以大学结束';
}
?>

 

php对字符串的操作2之 处理字符串的内置函数的更多相关文章

  1. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  2. set、def、lambda、内置函数、文件操作

    set : 无序,不重复,可以嵌套 .add (添加元素) .update(接收可迭代对象)---等于批量 添加 .diffrents()两个集合不同差 .sysmmetric difference( ...

  3. Freemarker 内置函数 数字、字符串、日期格式化用法介绍

    在用FreeMarker过程中,感觉FreeMarker的字符串,日期,集合等处理能力还是很强大的,上网搜了一些资料,整理如下,以便能帮助大家更熟练的应用Freemarker完成项目开发. 一.Seq ...

  4. python基础(内置函数+文件操作+lambda)

    一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...

  5. lambda表达式、内置函数、进制和文件操作

    lambda表达式 定义函数(普通方式)def f1(): return 123 f2 = lambda : 123 def f3(a1,a2): return a1+a2 定义函数(lambda表达 ...

  6. 第三天 函数 三元运算 lambda表达式 内置函数 文件操作

    面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...

  7. python的文件操作file:(内置函数,如seek、truncate函数)

    file打开文件有两种方式,函数用file()或者open().打开后读入文件的内容用read()函数,其读入是从文件当前指针位置开始,所以需要控制指针位置用: 一.先介绍下file读入的控制函数: ...

  8. Python数据类型的内置函数之str(字符串)

    Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) str(字符串)的一些操作 - 字符串相连方法 # 字符串的 ...

  9. python匿名函数 高阶函数 内置函数 文件操作

    1.匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用 ...

  10. Python全栈开发之4、内置函数、文件操作和递归

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5476760.html 一.内置函数 Python的内置函数有许多,下面的这张图全部列举出来了,然后我会把一些常用的拿 ...

随机推荐

  1. H5_0013:CSS特色样式集

    按比例变化,同时又限制最大宽高 ".start-wrap {", " width:40%;", " top: 83.21%;", " ...

  2. Flask之RESTFul API前后端分离

    Flask之RESTFul API前后端分离 一:虚拟环境搭建的两种方式 1 pipenv的使用 pip install --user pipenv安装pipenv在用户目录下 py -m site ...

  3. POJ 1099 Square Ice 连蒙带猜+根据样例找规律

    目录 题面 思路 思路 AC代码 题面 Square Ice Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4526   A ...

  4. 点击按钮出现60秒倒计时,JS(按钮)

    <script type="text/javascript"> var countdown=60; function settime(val) { var e = $( ...

  5. 【巨杉数据库SequoiaDB】SequoiaDB 巨杉数据库 v3.4 版本正式发布

    深秋时节,SequoiaDB 巨杉数据库在深秋给大家带来了“一把火”.SequoiaDB v3.4 正式发布啦! 分布式交易场景性能大幅提升 SequoiaDB 巨杉数据库3.4版本正式发布,v3.4 ...

  6. Latex中遇到 No room for a new \count 问题的解决

    在tex文件中加入etex宏包. \usepackage{etex} 最好加载第一个宏包位置 PDF合并 \documentclass[a4paper]{article}\usepackage{pdf ...

  7. print不是函数

    对文章阅读有感!!! 文章地址:http://www.laruence.com/2019/03/01/4904.html print是一个语法结构(language constructs), 他并不是 ...

  8. date-fns时间库的基本使用

    在react中使用date-fns: import sub_days from 'date-fns/sub_days'; import start_of_week from 'date-fns/sta ...

  9. AcWing 1019. 庆功会 多重背包求max

    //多重背包 max #include <iostream> using namespace std; ; int n, m; int f[N]; int main() { cin > ...

  10. K3违反内码唯一键约束

    K3有时候需要向数据库中插入数据,但是插入的时候遇到主键冲突的错误,可以用如下方法解决. 比如新增联系人时,完整错误如下:? ? 违反了 PRIMARY KEY 约束 'PK_CRM_Contact' ...