字串進階處理技術_PHP教程

來源:互聯網
上載者:User
字串處理

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

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.Regex : Regex是一種描述字串結構的文法規則。


一個完整的Regex由兩部分組成,即元字元和文本字元,元字元就是具有特殊含義的字元,文本字元就是普通的文本。PCRE風格的Regex一般都放置在定界符/中間。

php中提供兩套Regex函數庫,但是PCRE函數庫在執行效率上要略優於POSIX函數庫,所以這裡說的是PCRE函數庫。

preg_match()函數,根據Regex的模式對指定的字串進行搜尋和匹配。
preg_match_all() 同上

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

字串的替換
preg_replace()函數和preg_replace_callback()函數完成複雜的字串替換操作。
preg_replace()函數 根據Regex的模式完成字串的搜尋和替換操作。

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


作者 “技術為王”

http://www.bkjia.com/PHPjc/478615.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478615.htmlTechArticle字串處理 字串,所謂的字串就是由零個或多個字元構成的一個集合,包含:數字,字母,特殊字元和不可見字元。 1.轉義,還原字元...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.