博客列表 >字符串的长度、与数组之间的转换以及字符串的查找和替换-2018年4月18日

字符串的长度、与数组之间的转换以及字符串的查找和替换-2018年4月18日

笨鸟先飞
笨鸟先飞原创
2018年04月20日 17:04:51616浏览

字符串的长度、与数组之间的转换以及字符串的查找和替换:

实例

<?php 
 echo '<h2>获取字符串的长度</h2>';

 //strlen()    str==>string   len===>length
//mb_strlen()


 $hobby = '我很喜欢football';

 //获取系统的字符编码集
 $encoding = mb_internal_encoding();
echo '系统的字符编码集:'.$encoding ;

echo '<br>';

// strlen()获取的是字节表示的字符串长度
// 中文字用3个字节表示

echo strlen($hobby),'<br>';

//mb_strlen()获取的是字符数表示的长度

echo mb_strlen($hobby,"UTF-8"), '<br>';

echo mb_strlen($hobby,$encoding), '<br>';

echo '<hr color="red">';

echo '<h2>字符串函数:比较运算</h2>';


// 1.strcmp(str1, str2)
// 2.strncmp(str1, str2, len)
// 3.strcasecmp(str1, str2) 不区分 大小写
// 4.strspn(subject, mask)
// 5.strcspn(str1, str2)

$str1 = 'php中文网';
$str2 = 'PHP中文网';

//1.strcmp(str1, str2)二个字符串如果相等返回0,大于0,否则<0
echo strcmp($str1,$str2) == 0 ? '相等' : '不相等','<br>';

//2.strncmp(str1, str2, len)比较开头部分指定长度是否相等
echo strncmp($str1,$str2,3) == 0 ? '相等' : '不相等','<br>';

// 3.strcasecmp(str1, str2) 不区分 大小写
echo strcasecmp($str1,$str2) == 0 ? '相等' : '不相等','<br>';
echo strncasecmp($str1,$str2,3) == 0 ? '相等' : '不相等','<br>';
//其中加n是为了选定选定的位置

// 4.strspn($str,$mark,$start,$length):
// 计算字符串中全部字符都存在于指定字符串集合的第一段子字符串的长度

echo strspn('18380440332' ,'0123456789'),'<br>';
//可以指定开始比较的位置与长度
echo strspn('18380440332 1587544855 78458962' ,'0123456789',4,6),'<br>';
//第一个子字符串
echo strspn('1838haha  1587544855 78458962' ,'0123456789');
echo '<hr color="red">';

//手机号匹配
$phone = '1245969ppp7528';
$mark  =  '0123456789';

echo strspn($phone ,$mark) == strlen($phone)? '全数字' : '手机号必须是数字','<br>';
$phone = '12459697528';
$mark  =  '0123456789';

echo strspn($phone ,$mark) == strlen($phone)? '全数字' : '手机号必须是数字','<br>';




// strspn (函数返回值为str2和str1中相同元素的个数)
// strcspn (返回值:str1和str2中不同的元素的个数)


// 5.strcspn(str1, str2)与strspn互为反函数:

echo '<hr color="red">';

echo '<p><h2>字符串与数组之间的转换</h2></p>';

// 1.str_split($str ,$length)
// 2.explode(delimiter, string , num)
// 3.implode(glue, pieces)

echo '<pre>';
$str = 'happy,hobby,money,football,html';
echo strlen($str);
echo '<p>原始字符串:'.$str.'</p>';

// 1.str_split($str ,$length)
// print_r(str_split($str)) ;将以数组的形式把每一个字符打印出来,索引数组
print_r(str_split($str,5)) ;
//参数$length  是以多少个字符为一组打印出数组 
echo '<hr color="green">';

// 2.explode(delimiter, string , num)按分隔符,将一维数组分割成数组
print_r(explode(',',$str));//delimiter是分隔符只能是逗号,
print_r(explode(',',$str,4));//把第五个元素内容加到第四个里面

// 3.implode(glue, pieces):按分隔符,将一维数组拼接成字符串
$arr2 = explode(',',$str);
echo implode($arr2),'<br>';
echo implode('**',$arr2);





echo '<hr color="red">';

echo '<p><h2>字符串与HTML之间的转换</h2></p>';

// 1.addslashes($str):单引号,双引号,反斜线,mysqli_reol_escape_string()
// 2.stripslashes($str):和上面是反操作
// 3.htmlspecialchars() 将特殊字符转为html实体
// 4.htmlspecialchars_decode() 将html的实体转为特殊字符
// 5.strip_tags()从字符串中删除html和PHP标签

$str4 = <<< 'NOEDOC'
<h4>PHP课程介绍</h4>
<ol>
    <li>'PHP'基本语法&案例</li>
    <li>"PHP"的数据库操作</li>
    <li>\PHP面向对象编程</li>
</ol>
NOEDOC;
echo '原始字符串:'.$str4.'<hr color="green"';
// 1.addslashes($str):单引号,双引号,反斜线
$str8 = addslashes($str4);
echo $str8;

// 2.stripslashes($str):和上面是反操作
$str9 = stripslashes($str8);
echo $str9;

// 3.htmlspecialchars() 将特殊字符转为html实体
//&--->& ""--->" ; ''-->&opos/' ; < < ; >>
$str10 = htmlspecialchars($str9);
echo $str10;

// 4.htmlspecialchars_decode() 将html的实体转为特殊字符
$str11 = htmlspecialchars_decode($str10);
echo $str11;

// 5.strip_tags()从字符串中删除html和PHP标签
$str12 = strip_tags($str11);
$str12 = strip_tags($str11,'<h4>');//第二个参数要保留的标签

echo $str12;

echo '<hr color="red">';

echo '<p><h2>字符串的删除与填充</h2></p>';
// 1.ltrim(),删除左边空格或指定字符left
// 2.rtrim(),删除右边空格或指定字符right
// 3.trim(),删除左右两边空格或指定字符

// str_pad()

$str13 = '    我喜欢happy     ';//左4右5空格
$str14 = 'www.taobao.com';
echo $str13,'<br>';
echo strlen($str13);
echo '<br>';
// 1.ltrim(),删除左边空格或指定字符left
$str15 = ltrim($str13);
echo strlen($str15);
$str18 = ltrim($str14,'www.');
echo $str18;
echo '<br>';
// 2.rtrim(),删除右边空格或指定字符right
$str16 = rtrim($str13);
echo strlen($str16);

$str19 = rtrim($str14,'.com');
echo $str19;
echo '<br>';
// 3.trim(),删除左右两边空格或指定字符
$str17 = trim($str13);
echo strlen($str17);

// str_psd($str,$length,$mark , CONST)使用特定的字符串 将字符串填充到指定长度
echo '<br>';
$str6 = 'www.taobao.com';
echo strlen($str6);
echo '<br>';
echo str_pad($str6,26,'X',STR_PAD_RIGHT);
echo '<br>';
echo str_pad($str6,26,'X',STR_PAD_LEFT);
echo '<br>';
echo str_pad($str6,26,'X',STR_PAD_BOTH);

echo '<hr color="red">';

echo '<p><h2>常用的查找与替换函数</h2></p>';

// 1.strpos($str,$str1)查找$str1在$str中首次出现的位置
// (后面的参数在前面的参数中找)
// 2.strstr($str,$str1)如果$str1 是$str 的子串则返回子串,否则返回false
// 3.str_replace(search, replace, subject)子串替换
// 4.substr_replace(string, replacement, start)替换子字符串的子串

$str23 = 'www.taobao.tcom';
// 1.strpos($str,$str1)查找$str1在$str中首次出现的位置
// (后面的参数在前面的参数中找)
echo strpos($str23,'t');
echo strpos($str23,'t' ,5);
echo '<br>';
//第三个参数是指定位置

// 2.strstr($str,$str1)如果$str1 是$str 的子串则返回子串,否则返回false
echo strstr($str23,'8')? '是' : '不是';
echo strstr($str23,'bao');//返回子串及后面的内容
echo '<br>';
echo strstr($str23,'bao',true);//返回子串前面的内容
echo '<br>';
echo strstr($str23,'bao',true),strstr($str23,'bao');

// 3.str_replace(search, replace, $str)子串替换
// 第一个参数:是母字符串中的子字符串
// 第二个参数:需要把该子字符串替换成的内容
// 第三个参数:就是目标字符串,也就是母字符串
echo '<br>';
echo  str_replace('tcom','cn',$str23);
echo '<br>';
echo  str_replace('taobao.t','baidu.',$str23);

echo '<br>';
// 4.substr_replace(string, replacement, start, length)替换子字符串的子串

echo substr_replace($str23,'baidu',4,6);

运行实例 »

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


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