批改状态:未批改
老师批语:
<?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 指定保留标签
?>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号