php对字符串的操作2之 处理字符串的内置函数
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之 处理字符串的内置函数的更多相关文章
- 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- set、def、lambda、内置函数、文件操作
set : 无序,不重复,可以嵌套 .add (添加元素) .update(接收可迭代对象)---等于批量 添加 .diffrents()两个集合不同差 .sysmmetric difference( ...
- Freemarker 内置函数 数字、字符串、日期格式化用法介绍
在用FreeMarker过程中,感觉FreeMarker的字符串,日期,集合等处理能力还是很强大的,上网搜了一些资料,整理如下,以便能帮助大家更熟练的应用Freemarker完成项目开发. 一.Seq ...
- python基础(内置函数+文件操作+lambda)
一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...
- lambda表达式、内置函数、进制和文件操作
lambda表达式 定义函数(普通方式)def f1(): return 123 f2 = lambda : 123 def f3(a1,a2): return a1+a2 定义函数(lambda表达 ...
- 第三天 函数 三元运算 lambda表达式 内置函数 文件操作
面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...
- python的文件操作file:(内置函数,如seek、truncate函数)
file打开文件有两种方式,函数用file()或者open().打开后读入文件的内容用read()函数,其读入是从文件当前指针位置开始,所以需要控制指针位置用: 一.先介绍下file读入的控制函数: ...
- Python数据类型的内置函数之str(字符串)
Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) str(字符串)的一些操作 - 字符串相连方法 # 字符串的 ...
- python匿名函数 高阶函数 内置函数 文件操作
1.匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用 ...
- Python全栈开发之4、内置函数、文件操作和递归
转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5476760.html 一.内置函数 Python的内置函数有许多,下面的这张图全部列举出来了,然后我会把一些常用的拿 ...
随机推荐
- mysql空数据的处理
1.统计分析时,统计值为null则转为0 //统计婚姻接口调用次数select count ,(zsj/count) as pjdysjfrom(-- 实时调用量 评论返回时间差(取平均值)selec ...
- UVA122 二叉树的层次遍历
题目链接 https://vjudge.net/problem/UVA-122 #include<bits/stdc++.h> using namespace std; #define l ...
- openWRT和LuCI
openwrt是一套集成在板子上的系统,通过ip进入到其页面上 Luci是lua和UCI统一配置接口的合体,实现路由的网页配置界面(相当于一个前端框架)
- python3.6安装lxml库
好像是在python3.5之后,安装了lxml也无法使用etree 为了就解决这个问题使用如下方法: 1.下载lxml的wheel文件,下载地址:https://www.lfd.uci.edu/~go ...
- 数据预处理 | python 第三方库 imblearn 处理样本分布不均衡问题
说明:目前 只记录了 过采样 和 欠采样 的代码部分 1 样本分布不均衡描述: 主要出现在与分类相关的建模问题上,不均衡指的是不同类别的样本量差异非常大. 样本量差距过大会影响到建模结果 2 出现的场 ...
- Java期末考试冲刺总结
经过长达将近三个小时的冲刺,我感觉身心俱疲,但它无法掩盖我敲代码的欲望! 三个小时我只实现了公文流转系统的的部分功能. 我深刻的意识到建民老师说的这套关系之复杂,它真的是太复杂了!!!没有系统的梳理, ...
- ALSA lib-io plugin
https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_external_plugins.html External Plugin: I/O Plugin ...
- C语言链表总结(创建,排序,增加,删除)
#include <stdio.h>#include <stdlib.h> typedef struct NODE{ int data ; struct NODE * pNex ...
- SpringBoot学习- 8、整合Shiro
SpringBoot学习足迹 Shiro是什么,引自百度百科:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,您可以快 ...
- Python Turtle模块的简单应用
时钟 import turtle as t import datetime as dt #画出背景 game = t.Screen() game.bgcolor("white") ...