本文實例總結了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 一站式建網站 \n This is a OneStopWeb"; //但是,我現在想要在網頁中實現換行 //在回帖的時候,一個回車就是 \n //我們通過函數來實現轉換過程 echo nl2br($str); ?>
Demo3.php
<?php //將所有字符轉換成 HTML $str = '<strong>閱誰問君誦,水落清香浮。</strong>'; //echo htmlentities($str); //我們只要轉換特殊字符即可 //echo htmlspecialchars($str);//<strong>閱誰問君誦,水落清香浮。</strong> echo strip_tags($str); //閱誰問君誦,水落清香浮。 ?>
Demo4.php
<?php $str = 'This is "一站式建網站" \n This is a OneStopWeb'; //對於即將插入數據庫的字符串,把有問題的字符處理一下 //echo addslashes($str); //This is \"一站式建網站\" \\n This is a OneStopWeb $a = addslashes($str); //這個 $a 就是寫入數據庫的,我拿出來的話,就會有 \ 這個符號 echo stripcslashes($a); //首先將寫進數據庫的字符串通過 addslashes() 函數過濾一下,然後拿出來的時候 //再通過 stripcslashes() 解析一下顯示 ?>
Demo5.php
<?php
//將字符串轉換成大寫
echo strtoupper('oneStopWeb');//ONESTOPWEB
//將字符串轉換成小寫
echo strtolower('oneStopWeb');//onestopweb
//將第一個字母轉換成大寫
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 -- 使用一個字符串分割另一個字符串
//返回的是一個數組
//explode 第一參數是分割字符串,第二個參數是要被分割的字符串
$email = explode('@','oneStopWeb@163.com');
//print_r($email); //Array ( [0] => oneStopWeb [1] => 163.com )
//分割完了之後,我經過一輪篩選,還要重新組合
// $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'; //中間的參數表示開始的位置,位置是從 0 開始的,最後一個參數,是取出的個數 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';
//比較兩個字符串
//echo strcmp('a','b');
// if(strcmp('a','a') == 0){
// echo '相等';
// }
//echo strcasecmp('B','b'); //不區別大小寫
//目前是非自然排序
//echo strcmp('2','10');//1
//如果按照自然排序方式比較呢?
echo strnatcmp('2','10');//-1
?>
Demo13.php
<?php
//strspn
//後面兩個數字的參數,是從第幾位開始,取多少位
echo strspn('one','oneStopWeb@163.com',1,5);
?>
Demo14.php
<?php
//測試字符串的長度
echo strlen('oneStopWeb@163.com') ;
?>
Demo15.php
<?php
//測試字符串出現的頻率
echo substr_count('oneStopWeb@163.com','o');
?>
Demo16.php
<?php
//從指定的字符串開始輸出之後的字符串
echo strstr('oneStopWeb@163.com','@');
//不區別大小寫的
echo stristr('oneStopWeb@163.com','s');
?>
Demo17.php
<?php
//查找某字符串最先出現的位置
//位置是從第 0 個位置開始計算,W第一次出現在第 7 個位置上
echo strpos('oneStopWeb@163.com','W');
//最後出現的位置
echo strrpos('oneStopWeb@163.com','o');
?>
Demo18.php
<?php
//字符串替換
//第一個參數表示要查找的字符串(部分)
//第二個參數表示要替換成的字符串(部分)
//第三個參數表示原來的被替換的完整字符串
//echo str_replace('one','yi','oneStopWeb@163.com');//yiStopWeb@163.com
//str_ireplace 是不區分大小寫
//echo str_ireplace('oNe','yi','oneStopWeb@163.com');//yiStopWeb@163.com
//從第一個位置開始(參數3),取出 5 個來(參數4),將它替換成 ###(參數2)
echo substr_replace('oneStopWeb@163.com','###',0,5);
?>
Demo19.php
<?php //取中文長度 $str = '閱誰問君誦,水落清香浮。'; //用普通的 strlen 取一個中文字,就算兩個 //echo strlen($str) ; //使用 mb_strlen 來取中文,有第二個參數,字符編碼 echo mb_strlen($str,'GBK');//12 //如果你使用普通的 strlen 這個函數,我取 1 個字符 //采用 mb_substr 來取中文字符 echo mb_substr($str,2,1,'GBK');//問 ?>
Demo20.php
<?php $str = '閱誰問君誦,水落清香浮。'; //求出 o 最先出現的位置 //中文的算法,兩個字符一個中文字 //mb 就算一個 //echo strpos($str,'問');//4 //按中文一個字符來計算,這樣不會出現半個中文的狀態 echo mb_strpos($str,'問',0,'GBK'); ?>
Demo21.php
<?php // $str = '閱誰問君誦,水落清香浮。' ; // echo mb_substr($str,0,1,'GBK'); $str ='閱誰問君誦,水落清香浮。'; //這個就無所謂用 mb_strstr echo strstr($str,'水'); ?>
Demo22.php
<?php $str ='閱誰問君誦,水落清香浮。'; echo mb_substr_count($str,'問','GBK'); ?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。