返回php字符串的......登陆

php字符串的函数

caicai2019-03-17 22:20:22259

* 字符串的查找与替换,常用以下三个查询函数
*1、substr():根据位置查询,获取指定位置或区间的字符串
* 2、strstr():根据值查询,查询字符串首次出现的位置,返回剩余字符串
*  3.strpos():根据只查询,查询字符串首次出现的位置,返回出现的位置

<?php
//substr($str,$offset,$lenght),获取指定位置或区间内的字符串
$str='php is the best language';
echo substr($str,11);//从索引11的位置返回所有的字符:best language
echo '<br>';
echo substr($str,11,4);//best,取从索引后的4各字符
echo '<br>';
echo substr($str,-8);//将指针后尾的第8个,取后面的所有数据:language
echo '<br>';
echo substr($str,-8,4);//将指针后尾的第8个,取后面的4个数据:lang
echo '<hr>';
//-------------------strstr-------------------------------
//查找首次出现的位置,返回剩余的内容
echo strstr($str,'best1');//best language
//检查字符串是否存在,并返回前面内容,不包括指定字符
echo '<br>';
echo strstr($str,'best',true);//php is the
echo '<br>';
echo  strstr($str,'best',true),strstr($str,'best');
echo '<hr>';
//--------------------------strpos------------------------------------
//查找字符串首次出现的位置,返回位置
echo strpos($str,'best');//11

* 字符串的查找与替换
* str_replace:将字符串的中部分内容用目标函数进行替换
* substr_replace:是str_replace的加强版,但是指定了替换的区间

<?php
//-----------------------str_replace()-------------------------------
$str='php is the best language';
//将php换成了Java
echo str_replace('php','java',$str);//java is the best language

//将指定指定字符删除,代替的值应该为空''(但不是空格),将language删除;
echo '<br>';
echo str_replace('language','',$str);

//替换多个字符串,可以放在数组中,会一一对应
echo str_replace(['php','language'],['java','knowledge'],$str);
//java is the best knowledge

//--------------------------str_ireplace()------------------------------
//忽略大小写:
echo str_replace('PHP','JAVA',$str);//没有被替换:php is the best language
echo '<br>';
echo str_ireplace('PHP','JAVA',$str);//JAVA is the best language
//-----------------------substr_replace()----------------------------
echo substr_replace($str,'php是很好的语言',0),'<br>';//从0开始完全替换:php是很好的语言
//第四个参数是要替换的长度
echo substr_replace($str,'很好的',11,4);
//php is the 很好的 language

* urlencode():对url地址字符从进行编码,就是在特殊字符前面加%,防止服务器解析出现歧义
* http_build_query():生产url动态的查询字符串
*json_encode():将数据转为json格式
*json_decode:将json格式的字符串解析还原为变量

<?php
//---------------------urlencode($url)/urldecode($url):---------------------------------
//urlencode():对url地址字符从进行编码
$url='http://www.php.cn/';
echo $url;//'http://www.php.cn/'
echo '<br>';
$url=urlencode('http://www.php.cn/');//对url地址字符进行特殊编码
echo $url;//http%3A%2F%2Fwww.php.cn%2F
echo '<hr>';
$url=urldecode($url);//对上面编码后的url再次进行转码
echo '<a href="'.$url.'">php中文网 </a>';
echo '<hr>';

//----------------------http_build_query()-----------------------
//http_build_query():生产url动态的查询字符串
//?p=5:一个查询字符串时:用问号?进行标识
//side=5&id=2:多个查询字符串时:用&进行标识
$arr=['side'=>5,'id'=>2];
echo http_build_query($arr);//将数组转为了查询字符串:side=5&id=2
echo '<hr>';
//-----parse_url():将动态的查询字符串解析为数组----------------
$url1='http://www.php.cn/course/p=5';
$arr1=parse_url($url1);//解析为数组
echo var_export($arr1);//输出上面数组:array ( 'scheme' => 'http', 'host' => 'www.php.cn', 'path' => '/course/p=5', )
echo '<hr>';

//-----------------------json相关函数-----------------------------------------
//两个约定:1.必须时utf-8编码;2.不能处理资源类型:resourse;
//1.json_encode():将数据进行json编码,转为json格式
$lan='php';//变量
echo json_encode($lan);//对变量进行编码并输出:"php"
echo '<br>';
//将数组转为json
$arr=['side'=>5,'id'=>2];
echo json_encode($arr);//{"side":5,"id":2}

echo '<hr>';
//将对象转为数组
$obj=new stdClass();
$obj->name='小龙女';
$obj->sex='女';
$obj->message=['hight'=>163,'weight'=>100,'age'=>23];
echo json_encode($obj);//{"name":"\u5c0f\u9f99\u5973","sex":"\u5973","message":{"hight":163,"weight":100,"age":23}}
//----------------json_decode()------------------------------
//默认返回的都是对象格式
echo '<hr>';
$json='{"side":5,"id":2}';
$res=json_decode($json);
echo gettype($res);//object
echo '<br>';
echo $res->id;//2
echo '<hr>';
//以数组的形式返回
$res1=json_decode($json,true);
echo gettype($res1);//array
echo '<br>';
print_r($res1);//Array ( [side] => 5 [id] => 2 )

* 字符串的过滤
* trim,ltrim,rtrim:删除,向左、向右删除过滤
* str_pad:向指定方向填充

<?php
//trim(字符串,要过滤的字符串)
$input=' 1  admin';
echo '过滤前',$input,'的原始长度',strlen($input),'<hr>';
$input=trim($input);//不指定时就会去掉空格
echo '过滤后',$input,'的原始长度',strlen($input),'<hr>';
//指定过滤(ltrim,rtrim),删除扩展名
$str='demo2.php';
$str=rtrim($str,'.php');
echo '过滤后',$str;//过滤后demo2
echo '<hr>';
$str1='www.www.php.cn.www.';
$str1=ltrim($str1,'www.');//只是过滤左边开头的
echo '过滤后',$str1;//过滤后php.cn.www.
echo '<hr>';
//正则过滤
$str3='234demophp21234098';
$str3=trim($str3,'0..9');//过滤数字
echo '过滤后',$str3;//过滤后demophp
echo '<hr>';
//字符串填充 :str_pad(),4个参数(需要填充的字符串,指定长度,指定字符,填充方向)
$str4='www.php.cn';
$str5=str_pad($str4,20);//采用默认空格,只是填入字符串的长度
echo '填充后','的原始长度',strlen($str5);//填充后的原始长度20
echo '<hr>';
//采用指定字符'*'进行填充,pad_tpye为1时在右边,为0是在左边填充,2是向两边填充
$str6=str_pad($str4,20,'*',0);
echo '填充后',$str6;//填充后**********www.php.cn
echo '<hr>';
//应用:典型加密
// 密码一般用md5或shal:md5()是32字符串,shal()是40位字符串,相同的密码,加密后总是相同的
$pass ='123456';
echo sha1($pass),'<hr>';
//将密码进行扩展到40位,用php向两边填充
$pass1=str_pad($pass,40,'php',2);
echo '经填充再加密后',sha1($pass1),'<hr>';

字符串的大小写转换
* strtolower;
* strtoupper
* ucfirst;将首字母转为大写
* ucwords;将字符串的每个单词的首字母转为大写

<?php
//应用1,将文件名全部转为小写,实现跨平台
$files=['Mode.php','View.php','Controller.php'];
foreach ($files as $file){
    $res[]=strtolower($file);
}
$files=$res;//还是转存在原来的变量中
echo '转换后',var_export($files,true),'<hr>';
//var_export,以纯字符串的形式输出任何类型的数据,输入true后的格式可以用于拼接


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送