博客列表 >php常用的字符串操作 ----2018年04月18日

php常用的字符串操作 ----2018年04月18日

失去过去的博客
失去过去的博客原创
2018年04月20日 13:54:45822浏览

实例

<?php
// 字符串的查找与替换
/*
 * 1.strpos ($str1,$str2,$offset);功能查找参数2在参数1中的首次出现的位置 返回值是位置 $offset 从索引的偏移量开始查找 返回值也是索引的位置
 * 2.strstr ($str1,$str2)功能 查找参数2是否在参数1的子串 如果是存在 返回参数1中符合的字符串到最后 不是返回false
 * 3.str_replace($str1,$str2,$str3,$num)子串替换 参数1要被替换的子串 ,参数2替换的后的字符串 ,参数3 要替换的字符串 参数4 替换的次数
 * 4.substr_replace($str1,$str2,$str3,$start,$length) 参数1 字符串对象 参数2 要替换的字符串  参数3  参数4替换的起始位置  参数5替换的长度
 * 
 * */
 $str1 = 'www.baidu.baidu.com';
//1.strpos 

 echo strpos($str1,'b').'<br>';//返回第一次出现b的索引位置
	echo strpos($str1,'b',3);//索引偏移量 第三参数不允许负值
//2.strstr($haystack, $needle) 参数2是否在参数1中 	
echo '<hr>';
echo strstr($str1, 'baidu');//返回值 baidu.com
echo '<hr>';
//3.字符串替换 str_replace($search, $replace, $subject)
$phonenum = '13295962675';
echo str_replace('9596','医院医院',$phonenum);//所有符合的字符串都会被替换
//4.substr_replace() 
echo'<hr>';
//替换成字符 开始位置和长度
echo substr_replace($phonenum, '医院医院', 3,4);
echo '<hr>';

/*
 * 二 .删除或填冲指定的内容
 * 
 *   ltrim()去掉参数1左边去掉空格 参数2指定左边要删除的字符串
 * 	rtrim()去掉参数1右边去掉空格 参数2指定右边要删除的字符串
 * trim()去掉参数1两边去掉空格 参数2指定两边要删除的字符串
 * str_pad($input, $pad_length,$string,const)填充  参数一要填充的字符串  填充后的总长度
 * chunk_split() 将字符串按大小切成小块并指定分隔符
 * 
 * */ 
// 1.ltrim($str)	
	$name = '    威廉史密斯     ';
	echo strlen($name);//原字符串长度
	echo ltrim($name);
	echo strlen(ltrim($name)); //现在的字符串长度
	echo '<hr>';
// 2.rtrim($str)	

	echo strlen($name);//原字符串长度
	echo rtrim($name);
	echo strlen(rtrim($name)); //现在的字符串长度
	echo '<hr>';
// 3.trim($str)	
	$name = '    威廉史密斯     ';
	echo strlen($name);//原字符串长度
	echo trim($name);
	echo strlen(trim($name)); //现在的字符串长度
	echo '<hr>';	
//4.str_pad()
	$internetion  = 'republic';
	echo str_pad($internetion,15,'医院*',STR_PAD_BOTH);	echo '<hr>';//参数2 是填充后的总长度 参数4是常量  
	echo str_pad($internetion,15,'医院*',STR_PAD_LEFT);	echo '<hr>';
	echo str_pad($internetion,15,'医院*',STR_PAD_RIGHT);	echo '<hr>';
//5.chunk_split()字符串分割
echo chunk_split($internetion,2,'.');//参数1 分割对象 参数二分割的长度大小 参数3 指定分割符


/*
 * 
 * 
 * 字符串的长度计算
 * 1.strlen() 返回字符串的长度
 * 2.mb_strlen () 返回接近于实际的字符数长度
 * 
 * 
 * */
 	echo '<hr>';
 //strlen()
 $cpu = 'AMD骁龙';
 echo strlen($cpu); 
 	echo '<hr>';
// 2.mb_strlen($cpu,$encoding);
 echo mb_strlen($cpu);//参数二是指定字符集编码
 echo mb_strlen($cpu,'GB2312');//参数二是指定字符集编码
 echo '<hr>';
// 获取当前文件的字符集编码 使用函数 mb_internal_encoding
echo '当前的字符集编码是:'.mb_internal_encoding();
/*
 * 
 * 三、字符串的比较运算 
 *   
 * 
 * */
// 1.strcmp($str1, $str2)二进制安全字符比较
echo '<hr>';
$str1 = 'php中文网';
$str2 = 'PHP中文网';
 
ECHO strcmp($str1, $str2)==0?'相等':'不相等';//比较运算 如果两个字符串相等返回值是0 如果不相等是大于0
echo '<hr>';
//2.strcasecmp() 
ECHO strcasecmp($str1, $str2)==0?'相等':'不相等';//比较运算区分大小写 如果两个字符串相等返回值是0 如果不相等是大于0 
echo '<hr>';
//3. strncmp()
ECHO strncmp($str1, $str2,3)==0?'相等':'不相等';//比较运算 参数3是指 从左边开始比较的字符串长度。 如果两个字符串相等返回值是0 如果不相等是大于0
echo '<hr>';
//4.strncasecmp() 
echo strncasecmp($str1, $str2,3)==0?'相等':'不相等';//比较运算 参数3是指 从左边开始比较的字符串长度。 如果两个字符串相等返回值是0 如果不相等是大于0 不区分大小写
echo '<hr>';
//strspn()计算字符串在指定的字符集中是否存在 返回值是存在的个数  只能是第一个 子串 第二个子串就无效了
$mytel = '19912672412';
echo strspn($mytel, '123456789');//返回值是11  
echo strspn($mytel, '123456789',0,5);//参数3 起始位置 参数4长度
//5.strcspn()//是strspn 的取反 判断字符串参数一不在  参数2字符串中 返回不存在的字符长度
echo '<hr>';
echo strcspn($mytel, 'xdsajkddnjsk');

//四、字符串与数组的转换 
echo "<hr><pre>";
//1.str_split($string ,$length);将字符串的分割为数组 参数2是分割数组的长度
$string1 = '01020304050607080910';
print_r (str_split($string1,2));//字符串转换成数组 无参数2时 默认是一个字符
//2.explode()参数1  指定的分割符  参数2 分割的字符串 参数3 每个数组元素的字符串数量
$string2 = 'java,php,js,html,python';
print_r(explode(',',$string2,3));//参数3  组合后的数组长度 注意  剩下的全部归集到最后一个数组元素中
//3.implode ()数组组合成字符串 参数1 分割符  参数2 要组合成字符串的数组
$string3 = (explode(',',$string2,3));
print_r(implode('--', $string3));
echo '<hr>';
	print_r(implode(',', $string3));
echo '<hr>';	
print_r(implode('*', $string3));

//五、html与字符串之间的转换
$str = <<< 'NOWDOC'
<h4>PHP课程介绍</h4>
<ol>
	<li>'PHP'基本语法&案例</li>
	<li>"PHP"的数据库操作</li>
	<li>\PHP面向对象编程</li>
</ol>
NOWDOC;
echo '原始字符串'.$str.'<hr>';
//1.addslashes($str) 对单引号 双引号 反斜线 进行转义
$str2 = addslashes($str);
echo $str2;
//2.stripslashes() 去掉字符串中的转义反斜线字符
echo stripslashes($str2);
//3.htmlspecialchars()将dom中的html实体化
$string4 =  htmlspecialchars($str);//所有的结构都会按字符串的方式输出
echo $string4;


//4.将实体化后的html代码还原成dom结构显示htmlspecialchars_decode
 $string5 = htmlspecialchars_decode($string4);
  echo $string5;
 echo '<hr>';
 
 //5.从字符串中删除html代码 输入纯文本  strip_tags($str,$tags)
 echo strip_tags($string5);//参数2 指定标签
  echo '<hr>';
 echo strip_tags($string5,'<h4>');//参数2 指定保留标签
 
 ?>

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议