第十章,字符串高級處理技術

字符串處理

字符串,所謂的字符串就是由零個或多個字符構成的一個集合,包含:數字,字母,特殊字符和不可見字符。

1.轉義,還原字符串
常有將字符串解釋成控制符,針對這樣的問題,需要對特殊的字符進行轉義。php中通過addslashes()和stripslashes()函數轉義和還原字符串。

addslashes(字符串),可以給字符串加入斜線,對指定字符串中的字符進行轉義,可轉的包括單雙引號,反斜線,null字符。它常用的地方就是生成sql語句時。 還原和轉義一樣,用stripslashes()函數。

這兩個函數可以對指定範圍內容的字符串進行轉義,還原。string addcslashes ( string $str , string $charlist )  charlist就是指定哪些字符串前加上反斜線\。



2.截取

  對字符串截取sunstr()函數。從字符串中按照指定位置截取一定長度字符。如果使用正數作爲子串起點來調用這個函數,將的到從起點字符串結束的這個字符串,如果使用負數作爲子串起點來調用,將的到一個從原字符串尾部的一個子串,字符個數等於給定負數的絕對值。

string substr (string str,int $start [,int $length]) 參數分別是:字符串,截取開始位置,截取位數(截取字符的個數)

strlen()函數獲取字符串的長度。

3.分割,合成字符串
分割是指將字符串中的內容按照某個規則進行分類存儲,進而實現更多的功能。字符串的分割使用explode()函數,按照指定的規則對一個字符串進行分割,返回值爲數組。
array explode ( string $separator, string $string [, int $limit] )此函數返回由字符串組成的數組,每個元素都是 string 的一個子串,它們被字符串 separator 作爲邊界點分割出來。如果設置了 limit 參數,則返回的數組包含最多 limit 個元素,而最後那個元素將包含 string 的剩餘部分。
explode(指定分隔符,被分隔的字符串[包含的元素個數])

合成字符串,使用implode()函數。語法一樣。將數組中的元素組合成一個新字符串。implode(分隔符,被合併的數據);


4.替換字符串

字符串的替換技術,可以屏蔽帖子或都留言版中的非法字符,可以對查詢的關鍵字進行描紅,使用的函數str_ireplace()和substr_replace()來實現字符串的替換功能。

srt_ireplace()函數使用新的子字符串(子串)替換原始字符串中被指定要替換的字符串。
mixed str_ireplace ( mixed $search, mixed $replace, mixed $subject [, int &$count] ) 將所有在參數subject中出現的參數search以參數replace取代。參數&count表示取代字符串執行的次數。

$search   指定需要查找的字符串。 要被替換的
$replace  指定替換的值 替換爲的
$subject  指定查找的範圍 在哪裏替換
count      可選參數,獲取執行替換的數量
  

 這個函數不區分大小寫,要區分大小寫使用srt_replace()

substr_replace()函數,對指定字符串中的部分字符串進行替換。。  參數:指定是哪個字符串,換成什麼字符,替換字符串的開始位置,指定長度



5.檢索字符串,應用於字符串查找的函數,像strstr()函數和substr_count()函數,

strstr()函數獲取一個指定字符串在另一個字符串中首次出現的位置到後者末尾的子字符串。如果指行成功,則返回剩餘的字符串,否則返回false。這個函數區分大小寫,要不區分大小寫,可使用stristr()函數。(第一次出現的位置)
最後一次出現的位置,用strrchr()函數,該函數區分大小寫。strripos()也是查最後出現位置,但不區分大小寫。

substr_count()檢索字符串在字符中出現的次數。

6.去掉字符串首尾空格和特殊字符
trim()函數去除字符串左右兩邊的空白字符和特殊字符,lrtim()是左邊空白字符和特殊字符,rtrim()是右邊
string ltrim (string $str[,string $charlist])   str是要操作的字符串對象。charlist爲可選參數,指定需要從指定的字符串中刪除哪些字符,如果不設置該參數,則所有的可選字符都將被刪除,


7.字符串與html轉換
字符串與html之間轉換直接將源代碼在網頁中輸出,而不被執行,用的函數htmlentities(),
htmlentities ( string $string [, int $quote_style],[string $charset])  $string必要參數,指定要轉換的字符串,quote_Style可選參數,選擇如何處理字符串中的引號,charest可選參數,確定轉換的字符集。


8.正則表達式 : 正則表達式是一種描述字符串結構的語法規則。
一個完整的正則表達式由兩部分組成,即元字符和文本字符,元字符就是具有特殊含義的字符,文本字符就是普通的文本。PCRE風格的正則表達式一般都放置在定界符/中間。

php中提供兩套正則表達式函數庫,但是PCRE函數庫在執行效率上要略優於POSIX函數庫,所以這裏說的是PCRE函數庫。

preg_match()函數,根據正則表達式的模式對指定的字符串進行搜索和匹配。
preg_match_all()  同上

preg_grep()函數   對數組中的元素進行匹配

字符串的替換
preg_replace()函數和preg_replace_callback()函數完成複雜的字符串替換操作。
preg_replace()函數 根據正則表達式的模式完成字符串的搜索和替換操作。

字符串的分割
preg_split()函數完成複雜的字符串分割操作。








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章