PHP入門教程之字符串處理技巧總結(jié)(轉(zhuǎn)換,過濾,解析,查找,截取,替換等)
本文實(shí)例總結(jié)了PHP字符串處理技巧。分享給大家供大家參考,具體如下:
Demo1.php
<?php //源代碼是文本形式,頁面顯示是 web 形式 $str = ' PHP '; //清理一下兩邊的空格 ltrim 只清理左,rtrim只清理右邊 echo ltrim($str); echo '<br/>'; echo rtrim($str); echo '<br/>'; //兩邊都清理 echo trim($str); //echo chop($str); ?>
Demo2.php
<?php $str = "This is 一站式建網(wǎng)站 \n This is a OneStopWeb"; //但是,我現(xiàn)在想要在網(wǎng)頁中實(shí)現(xiàn)換行 //在回帖的時(shí)候,一個(gè)回車就是 \n //我們通過函數(shù)來實(shí)現(xiàn)轉(zhuǎn)換過程 echo nl2br($str); ?>
Demo3.php
<?php //將所有字符轉(zhuǎn)換成 HTML $str = '<strong>閱誰問君誦,水落清香浮。</strong>'; //echo htmlentities($str); //我們只要轉(zhuǎn)換特殊字符即可 //echo htmlspecialchars($str);//<strong>閱誰問君誦,水落清香浮。</strong> echo strip_tags($str); //閱誰問君誦,水落清香浮。 ?>
Demo4.php
<?php $str = 'This is "一站式建網(wǎng)站" \n This is a OneStopWeb'; //對(duì)于即將插入數(shù)據(jù)庫的字符串,把有問題的字符處理一下 //echo addslashes($str); //This is \"一站式建網(wǎng)站\" \\n This is a OneStopWeb $a = addslashes($str); //這個(gè) $a 就是寫入數(shù)據(jù)庫的,我拿出來的話,就會(huì)有 \ 這個(gè)符號(hào) echo stripcslashes($a); //首先將寫進(jìn)數(shù)據(jù)庫的字符串通過 addslashes() 函數(shù)過濾一下,然后拿出來的時(shí)候 //再通過 stripcslashes() 解析一下顯示 ?>
Demo5.php
<?php //將字符串轉(zhuǎn)換成大寫 echo strtoupper('oneStopWeb');//ONESTOPWEB //將字符串轉(zhuǎn)換成小寫 echo strtolower('oneStopWeb');//onestopweb //將第一個(gè)字母轉(zhuǎn)換成大寫 echo ucfirst('oneStopWeb'); //OneStopWeb ?>
Demo6.php
<?php $str = 'oneStopWeb'; //echo str_pad($str,11).'is good!'; //oneStopWeb is good! //oneStopWeb### //echo str_pad($str,13,'#') echo str_pad($str,18,'#',STR_PAD_BOTH); echo '<br/>'; echo str_pad($str,18,'#',STR_PAD_LEFT); echo '<br/>'; echo str_pad($str,18,'#',STR_PAD_RIGHT); /** * ####oneStopWeb#### * ########oneStopWeb * oneStopWeb######## * */ ?>
Demo7.php
<?php //explode -- 使用一個(gè)字符串分割另一個(gè)字符串 //返回的是一個(gè)數(shù)組 //explode 第一參數(shù)是分割字符串,第二個(gè)參數(shù)是要被分割的字符串 $email = explode('@','oneStopWeb@163.com'); //print_r($email); //Array ( [0] => oneStopWeb [1] => 163.com ) //分割完了之后,我經(jīng)過一輪篩選,還要重新組合 // $arr = array('oneStop','@','163.com'); // $str = implode('&',$arr); // echo $str;//oneStop&@&163.com $str = implode(' - ',$email); echo $str; //oneStopWeb - 163.com ?>
Demo8.php
<?php // $str = 'I will be back'; // $arr = explode(' ',$str); // print_r($arr); //Array ( [0] => I [1] => will [2] => be [3] => back ) $str = 'I,will.be#back'; $tok = strtok($str,',.#'); //echo $tok; while($tok){ echo $tok.'<br/>'; $tok = strtok(',.#'); } // $str = 'I will be back'; // $tok = strtok($str,' '); // //echo $tok; // while($tok){ // echo $tok.'<br/>'; // $tok = strtok(' '); // } // $tok = strtok(' '); // echo $tok;//Iwill // //指針沒有下移,而是重新來了一次 // $tok = strtok($str,' '); // echo $tok; ?>
Demo9.php
<?php $str = 'oneStopWeb@163.com'; //中間的參數(shù)表示開始的位置,位置是從 0 開始的,最后一個(gè)參數(shù),是取出的個(gè)數(shù) echo substr($str,0,5) ;//oneSt ?>
Demo10.php
<?php //$str = 'oneStopWeb@163.com'; $str = '閱誰問君誦,水落清香浮。'; //中文亂碼 print_r(str_split($str)); ?>
Demo11.php
<?php $str = 'oneStopWeb@163.com'; echo strrev($str); //moc.361@beWpotSeno ?>
Demo12.php
<?php //通過 == 來比較字符串是否一致 //最后的返回值是布爾值 //echo 'a' == 'a'; //比較兩個(gè)字符串 //echo strcmp('a','b'); // if(strcmp('a','a') == 0){ // echo '相等'; // } //echo strcasecmp('B','b'); //不區(qū)別大小寫 //目前是非自然排序 //echo strcmp('2','10');//1 //如果按照自然排序方式比較呢? echo strnatcmp('2','10');//-1 ?>
Demo13.php
<?php //strspn //后面兩個(gè)數(shù)字的參數(shù),是從第幾位開始,取多少位 echo strspn('one','oneStopWeb@163.com',1,5); ?>
Demo14.php
<?php //測(cè)試字符串的長度 echo strlen('oneStopWeb@163.com') ; ?>
Demo15.php
<?php //測(cè)試字符串出現(xiàn)的頻率 echo substr_count('oneStopWeb@163.com','o'); ?>
Demo16.php
<?php //從指定的字符串開始輸出之后的字符串 echo strstr('oneStopWeb@163.com','@'); //不區(qū)別大小寫的 echo stristr('oneStopWeb@163.com','s'); ?>
Demo17.php
<?php //查找某字符串最先出現(xiàn)的位置 //位置是從第 0 個(gè)位置開始計(jì)算,W第一次出現(xiàn)在第 7 個(gè)位置上 echo strpos('oneStopWeb@163.com','W'); //最后出現(xiàn)的位置 echo strrpos('oneStopWeb@163.com','o'); ?>
Demo18.php
<?php //字符串替換 //第一個(gè)參數(shù)表示要查找的字符串(部分) //第二個(gè)參數(shù)表示要替換成的字符串(部分) //第三個(gè)參數(shù)表示原來的被替換的完整字符串 //echo str_replace('one','yi','oneStopWeb@163.com');//yiStopWeb@163.com //str_ireplace 是不區(qū)分大小寫 //echo str_ireplace('oNe','yi','oneStopWeb@163.com');//yiStopWeb@163.com //從第一個(gè)位置開始(參數(shù)3),取出 5 個(gè)來(參數(shù)4),將它替換成 ###(參數(shù)2) echo substr_replace('oneStopWeb@163.com','###',0,5); ?>
Demo19.php
<?php //取中文長度 $str = '閱誰問君誦,水落清香浮。'; //用普通的 strlen 取一個(gè)中文字,就算兩個(gè) //echo strlen($str) ; //使用 mb_strlen 來取中文,有第二個(gè)參數(shù),字符編碼 echo mb_strlen($str,'GBK');//12 //如果你使用普通的 strlen 這個(gè)函數(shù),我取 1 個(gè)字符 //采用 mb_substr 來取中文字符 echo mb_substr($str,2,1,'GBK');//問 ?>
Demo20.php
<?php $str = '閱誰問君誦,水落清香浮。'; //求出 o 最先出現(xiàn)的位置 //中文的算法,兩個(gè)字符一個(gè)中文字 //mb 就算一個(gè) //echo strpos($str,'問');//4 //按中文一個(gè)字符來計(jì)算,這樣不會(huì)出現(xiàn)半個(gè)中文的狀態(tài) echo mb_strpos($str,'問',0,'GBK'); ?>
Demo21.php
<?php // $str = '閱誰問君誦,水落清香浮。' ; // echo mb_substr($str,0,1,'GBK'); $str ='閱誰問君誦,水落清香浮。'; //這個(gè)就無所謂用 mb_strstr echo strstr($str,'水'); ?>
Demo22.php
<?php $str ='閱誰問君誦,水落清香浮。'; echo mb_substr_count($str,'問','GBK'); ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)的方法
這篇文章主要介紹了php統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)的方法的相關(guān)資料,需要的朋友可以參考下2015-07-07php的curl實(shí)現(xiàn)get和post的代碼
類似于dreamhost這類主機(jī)服務(wù)商,是顯示fopen的使用的。使用php的curl可以實(shí)現(xiàn)支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。2008-08-08