abstract:* 字符串的查找與替換,常用以下三個查詢函數(shù) *1、substr():根據(jù)位置查詢,獲取指定位置或區(qū)間的字符串 * 2、strstr():根據(jù)值查詢,查詢字符串首次出現(xiàn)的位置,返回剩余字符串 * 3.strpos():根據(jù)只查詢,查詢字符串首次出現(xiàn)的位置,返回出現(xiàn)的位置<?php //substr($str,$offset,$lenght),獲取指定位置或區(qū)間內(nèi)的字符串 $str
* 字符串的查找與替換,常用以下三個查詢函數(shù)
*1、substr():根據(jù)位置查詢,獲取指定位置或區(qū)間的字符串
* 2、strstr():根據(jù)值查詢,查詢字符串首次出現(xiàn)的位置,返回剩余字符串
* 3.strpos():根據(jù)只查詢,查詢字符串首次出現(xiàn)的位置,返回出現(xiàn)的位置
<?php //substr($str,$offset,$lenght),獲取指定位置或區(qū)間內(nèi)的字符串 $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個,取后面的所有數(shù)據(jù):language echo '<br>'; echo substr($str,-8,4);//將指針后尾的第8個,取后面的4個數(shù)據(jù):lang echo '<hr>'; //-------------------strstr------------------------------- //查找首次出現(xiàn)的位置,返回剩余的內(nèi)容 echo strstr($str,'best1');//best language //檢查字符串是否存在,并返回前面內(nèi)容,不包括指定字符 echo '<br>'; echo strstr($str,'best',true);//php is the echo '<br>'; echo strstr($str,'best',true),strstr($str,'best'); echo '<hr>'; //--------------------------strpos------------------------------------ //查找字符串首次出現(xiàn)的位置,返回位置 echo strpos($str,'best');//11
* 字符串的查找與替換
* str_replace:將字符串的中部分內(nèi)容用目標函數(shù)進行替換
* substr_replace:是str_replace的加強版,但是指定了替換的區(qū)間
<?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); //替換多個字符串,可以放在數(shù)組中,會一一對應 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是很好的語言 //第四個參數(shù)是要替換的長度 echo substr_replace($str,'很好的',11,4); //php is the 很好的 language
* urlencode():對url地址字符從進行編碼,就是在特殊字符前面加%,防止服務器解析出現(xiàn)歧義
* http_build_query():生產(chǎn)url動態(tài)的查詢字符串
*json_encode():將數(shù)據(jù)轉(zhuǎn)為json格式
*json_decode:將json格式的字符串解析還原為變量
<?php //---------------------urlencode($url)/urldecode($url):--------------------------------- //urlencode():對url地址字符從進行編碼 $url='http://www.miracleart.cn/'; echo $url;//'http://www.miracleart.cn/' echo '<br>'; $url=urlencode('http://www.miracleart.cn/');//對url地址字符進行特殊編碼 echo $url;//http%3A%2F%2Fwww.miracleart.cn%2F echo '<hr>'; $url=urldecode($url);//對上面編碼后的url再次進行轉(zhuǎn)碼 echo '<a href="'.$url.'">php中文網(wǎng) </a>'; echo '<hr>'; //----------------------http_build_query()----------------------- //http_build_query():生產(chǎn)url動態(tài)的查詢字符串 //?p=5:一個查詢字符串時:用問號?進行標識 //side=5&id=2:多個查詢字符串時:用&進行標識 $arr=['side'=>5,'id'=>2]; echo http_build_query($arr);//將數(shù)組轉(zhuǎn)為了查詢字符串:side=5&id=2 echo '<hr>'; //-----parse_url():將動態(tài)的查詢字符串解析為數(shù)組---------------- $url1='http://www.miracleart.cn/course/p=5'; $arr1=parse_url($url1);//解析為數(shù)組 echo var_export($arr1);//輸出上面數(shù)組:array ( 'scheme' => 'http', 'host' => 'www.miracleart.cn', 'path' => '/course/p=5', ) echo '<hr>'; //-----------------------json相關(guān)函數(shù)----------------------------------------- //兩個約定:1.必須時utf-8編碼;2.不能處理資源類型:resourse; //1.json_encode():將數(shù)據(jù)進行json編碼,轉(zhuǎn)為json格式 $lan='php';//變量 echo json_encode($lan);//對變量進行編碼并輸出:"php" echo '<br>'; //將數(shù)組轉(zhuǎn)為json $arr=['side'=>5,'id'=>2]; echo json_encode($arr);//{"side":5,"id":2} echo '<hr>'; //將對象轉(zhuǎn)為數(shù)組 $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>'; //以數(shù)組的形式返回 $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.miracleart.cn.www.'; $str1=ltrim($str1,'www.');//只是過濾左邊開頭的 echo '過濾后',$str1;//過濾后php.cn.www. echo '<hr>'; //正則過濾 $str3='234demophp21234098'; $str3=trim($str3,'0..9');//過濾數(shù)字 echo '過濾后',$str3;//過濾后demophp echo '<hr>'; //字符串填充 :str_pad(),4個參數(shù)(需要填充的字符串,指定長度,指定字符,填充方向) $str4='www.miracleart.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.miracleart.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 '經(jīng)填充再加密后',sha1($pass1),'<hr>';
字符串的大小寫轉(zhuǎn)換
* strtolower;
* strtoupper
* ucfirst;將首字母轉(zhuǎn)為大寫
* ucwords;將字符串的每個單詞的首字母轉(zhuǎn)為大寫
<?php //應用1,將文件名全部轉(zhuǎn)為小寫,實現(xiàn)跨平臺 $files=['Mode.php','View.php','Controller.php']; foreach ($files as $file){ $res[]=strtolower($file); } $files=$res;//還是轉(zhuǎn)存在原來的變量中 echo '轉(zhuǎn)換后',var_export($files,true),'<hr>'; //var_export,以純字符串的形式輸出任何類型的數(shù)據(jù),輸入true后的格式可以用于拼接
Correcting teacher:查無此人Correction time:2019-03-18 09:13:38
Teacher's summary:寫的不錯。常用的函數(shù)都記住就行了,寫代碼可以提高速度。繼續(xù)加油