abstrakt:* 字符串的查找與替換,常用以下三個查詢函數 *1、substr():根據位置查詢,獲取指定位置或區(qū)間的字符串 * 2、strstr():根據值查詢,查詢字符串首次出現的位置,返回剩余字符串 * 3.strpos():根據只查詢,查詢字符串首次出現的位置,返回出現的位置<?php //substr($str,$offset,$lenght),獲取指定位置或區(qū)間內的字符串 $str
* 字符串的查找與替換,常用以下三個查詢函數
*1、substr():根據位置查詢,獲取指定位置或區(qū)間的字符串
* 2、strstr():根據值查詢,查詢字符串首次出現的位置,返回剩余字符串
* 3.strpos():根據只查詢,查詢字符串首次出現的位置,返回出現的位置
<?php //substr($str,$offset,$lenght),獲取指定位置或區(qū)間內的字符串 $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的加強版,但是指定了替換的區(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); //替換多個字符串,可以放在數組中,會一一對應 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動態(tài)的查詢字符串
*json_encode():將數據轉為json格式
*json_decode:將json格式的字符串解析還原為變量
<?php //---------------------urlencode($url)/urldecode($url):--------------------------------- //urlencode():對url地址字符從進行編碼 $url='http://ipnx.cn/'; echo $url;//'http://ipnx.cn/' echo '<br>'; $url=urlencode('http://ipnx.cn/');//對url地址字符進行特殊編碼 echo $url;//http%3A%2F%2Fipnx.cn%2F echo '<hr>'; $url=urldecode($url);//對上面編碼后的url再次進行轉碼 echo '<a href="'.$url.'">php中文網 </a>'; echo '<hr>'; //----------------------http_build_query()----------------------- //http_build_query():生產url動態(tài)的查詢字符串 //?p=5:一個查詢字符串時:用問號?進行標識 //side=5&id=2:多個查詢字符串時:用&進行標識 $arr=['side'=>5,'id'=>2]; echo http_build_query($arr);//將數組轉為了查詢字符串:side=5&id=2 echo '<hr>'; //-----parse_url():將動態(tài)的查詢字符串解析為數組---------------- $url1='http://ipnx.cn/course/p=5'; $arr1=parse_url($url1);//解析為數組 echo var_export($arr1);//輸出上面數組:array ( 'scheme' => 'http', 'host' => 'ipnx.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.ipnx.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='ipnx.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;//填充后**********ipnx.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后的格式可以用于拼接
Korrigierender Lehrer:查無此人Korrekturzeit:2019-03-18 09:13:38
Zusammenfassung des Lehrers:寫的不錯。常用的函數都記住就行了,寫代碼可以提高速度。繼續(xù)加油