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. 自主开发编程语言被指Python套壳,中科院开发者道歉

    中科院计算所团队“完全自主设计.开发和实现”的“木兰”编程语言是Python语言的套壳产品?针对近日这一网络质疑,1月17日,项目负责人.中科院计算所编译实验室员工刘雷在科学网上发表回应称,木兰语言在 ...

  2. tomcat-embeded-core源码编译

    使用spring-boot创建web工程时,默认采用embeded tomcat作为容器,实际使用过程中,可能会需要对其中的某些功能做微调,而tomcat又没有给出预留配 ,这时就需要对tomcat- ...

  3. PHP正则表达式及表单注册案例

    正则表达式是一种具有特定模式的用来匹配文本的字符串 preg_match 匹配 $pattern = '/php/'; $subject = "php 是最好的编程语言,php 没有之一!& ...

  4. vue koa2 mongodb 从零开始做个人博客(二) 登录注册功能后端部分

    0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.后端搭建 1.1项目结构 首先看一下后端的server目录 挨个解释一下 首先dbs文件夹顾名思义,操作数据库的,mod ...

  5. mybatis-plus热部署mapper.xml插件JRebel MybatisPlus extension,报错:java.lang.NullPointerException

    事件 mybatis转mybatis-plus,结果原来的Jrebel for intrllij 不能热部署mapper.xml文件,百度得知得添加新的插件 JRebel MybatisPlus ex ...

  6. 【Python】表白程序

     程序链接:https://www.lanzous.com/i8xj5mh # 打包操作 # 安装pyinstaller # cmd输入 pip install pyinstaller # shift ...

  7. 最近公共祖先 Lowest Common Ancestors

    基于深度的LCA算法:  对于两个结点u.v,它们的深度分别为depth(u).depth(v),对于其公共祖先w,深度为depth(w),u需要向上回溯depth(u)-depth(w)步,v需要d ...

  8. Java基础--数组(Arrays)

    数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理.本篇博客是对Java基础中的数组进行详细说明. 目录: 数组的概述 一维数组 ...

  9. JS模板引擎-Mustache模板引擎使用实例1-表格树

    1 使用实例代码 1.jsp代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <title> ...

  10. mysql cmd 常用命令

    环境变量配置配置好以后,打开cmd 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:grant selec ...