PHP中字串的常用函數有哪些?PHP字串的常用操作又有哪些?接下來我們就具體的看一下。
1.確定一個字串的長度
這是最為常見和基礎的例子,對於確定一個字串的長度,我們應該使用strlen()函數,比如要擷取下面字串$text的長度:
$text=“sunnyday“; $count=strlen($text);//$count=9
2.截取文本來建立一個概要
新聞性質的網站通常會在發布本文中的開頭部分截取大約200字左右,並在末尾加上省略符號來形成一個摘要。你可以使用substr_replace()函數來實現此功能,這裡由於篇幅的原因,展示一個截取40個字元的例子:
$article=“BREAKINGNEWS:Inultimateirony,manbitesdog.“; $summary=substr_replace($article,“...“,40); //$summary=“BREAKINGNEWS:Inultimateirony,manbi...“
3.計算一個字串中的單詞數
你經常可以看到一些部落格或者新聞類文章會統計文章中的總單詞數,或者是要求使用者投稿的文章是在一定的字數範圍內。對此,你可以使用str_word_count()函數來統計單詞數,比如:
$article=“BREAKINGNEWS:Inultimateirony,manbitesdog.“; $wordCount=str_word_count($article); //$wordCount=8
4.解析CSV檔案
資料通常是以逗號分隔的形式儲存在檔案中的(CSV格式),CSV檔案使用一個逗號或者類似於預定義符號,將每列字串組成一個單獨的行。你可能經常建立PHP指令碼來匯入這些資料,或者解析出你所需要的東西,有很多解析CSV檔案的方法,最常見的就是使用fgets()和explode()函數的組合來讀取和解析檔案。但是最為簡單的方法是使用fgetcsv()函數,比如,現在有一個CSV檔案:
1,John,Smith,Plumber2,Mark,Seagal,Instructor3,Peter,Haines,Writer
此時使用fopen()和fgetcsv()函數,我們能夠很容易的解析這個檔案,檢索出每個連絡人的名字:
$fh=fopen(“contacts.csv“,“r“); while($line=fgetcsv($fh,1000,“,“)) { echo“Contact:{$line[1]}“; }
5.將數群組轉換為字串
有些時候,你在建立CSV檔案之後還要從這些檔案中進行讀取,這就意味著你需要將資料轉換為用逗號分隔的字串。如果這些資料最初是從資料庫檢索出來的,那麼它很可能會提供的是一個數組。這時,你可以使用implode()函數,把數組元素組合為一個字串。如下所示:
$csv=implode(“,“,$record);
6.將URL轉換成超連結
目前許多WYSIWYG(所見即所得 (WYSIWYG))編輯器工具都允許使用者標記文本,包括超連結。當然,你也可以在內容呈現到頁面上時,自動執行此過程。要轉換成超連結,你可以使用preg_replace()函數,它可以按照Regex來搜尋一個字串,並定義了URL的結構:
$url=“W.J.Gilmore,LLC(http://www.wjgilmore.com)“; $url=preg_replace(“/http://([A-z0-9./-]+)/“,“$0“,$url); //$url=“W.J.Gilmore,LLC(http://www.wjgilmore.com)“
7.從一個字串中去除HTML標籤
我們通常需要確保使用者的輸入中不含有危險字元,因為它們會導致SQL注入或跨網站的指令碼攻擊。PHP已經有了很多安全方面的考慮和功能,這些功能能夠協助你過濾資料。你的網站可能允許使用者在他們的評論中帶有一些基本的HTML元素,比如一些標籤。此時,你就需要使用帶有檢查功能的函數:strip_tags(),可以從字串中去除所有的HTML標籤。例如:
$text=strip_tags($input,““);
8.比較兩個字串
比較兩個字串,檢查它們是否完全相同。比如,判斷使用者第一次設定密碼與第二次確認密碼時輸入的是否完全相同。這時,你可以使用strcmp()函數來實現:
$pswd=“secret“; $pswd2=“secret“; if(!strcmp($pswd,$pswd2)) { echo“Thepasswordsarenotidentical!“; }
9.將分行符號轉換為換列標籤
使用nl2br()函數,的能夠協助你將任何分行符號轉換成HTML標籤,比如:
$comment=nl2br($comment);
10.使用自動換行
應用自動換行,可以使用PHP中的這個函數:wordwrap(),按照指定長度對字串進行折行處理。比如:
$speech=“Fourscoreandsevenyearsagoou***thersbroughtforth, uponthiscontinent,anewnation,conceivedinLiberty, anddedicatedtothepropositionthatallmenarecreatedequal.“; echowordwrap($speech,30);//參數width:30為規定的最大行寬度