php字串操作

2022-03-07 02:54:40 字數 3724 閱讀 4243

按照從表單提交資料之後,php處理的不同:接受,顯示,儲存。也有三種型別的格式化方法。

當資料從表單中上傳上來的時候需要對字串整理一下,去掉字串前後的空格或者其他字元。

** trim()就是去掉字串前後的空格、製表符、換行符等等。

** ltrim()去掉左邊的,就是清理開頭那一端

** rtrim()**去掉右邊的,就是結尾那一端的

$name = trim($_post['name']);

** 1.使用html格式化:nl2br()**

接收字串作為引數,將字串中的換行符更改為html中的

,便於在**頁面中顯示

** 2.改變字串中的字母大小寫**

** strtoupper()將字串轉換為大寫

** stroutlower將字串轉換為小寫

** ucfirst()如果字串的第乙個字元是字母,就將該字元大寫

** ucwords將字串中的每個單詞的第乙個字母轉換為大寫

** 3.格式化字串以便儲存:addslashes()**

資料庫有時候會把字串李公尺娜的引號,反斜槓,null字元當做是控制字元,這樣會導致向資料庫中儲存資料失敗。這種情況可以使用轉義符來轉義,也可以使用我們的轉義字串的函式

例如使用addslashes()函式:

$feedback = addslashes(trim($_post['feedback']));

我們會經常從字串中提取出想要的字串,以及新增一些字串。以下就是一些常用的方法函式

** 2.1使用函式explode()、implode()、join()**

** explode()**接收兩個引數,是按照給出的分隔符來分割字串,並將結果返回到乙個數字索引型的字串裡面。還有乙個可選引數是用來限制分成字串小塊的數量

$email = [email protected];

$email_array = explode('@', $email);

$email_array就是乙個數字索引型的字串,可以通過索引獲得自己想要的。

** implode()和join()**的作用和explode()完全相反,是從陣列中獲取陣列元素來組成乙個新的字串。接收的第乙個引數是你想要用來連線這些元素的分割符,第二個引數是乙個陣列操作物件,返回結果是乙個字串

2.2使用strtok()函式

同explode()的方法差不多,將字串按照給定的分隔符來分割,不同之處在於srttok()函式每次只會返回被分隔的一部分,一般可以跟while語句連用。這個函式的特點是每次只返回乙個

2.3使用substr()函式

這個函式是用來擷取字串中的一部分長度的,接收兩個引數分別是:需要操作的字串和開始擷取的位置。第三個引數是可選引數,用來限定擷取的長度的。

第二個引數也可以是負數,負數表示從字串的末尾向前數

substr($test, -9);

3.1字串的排序:strcmp(),strcasecmp(),strnatcmp()

這三個函式都是比較兩個字串大小的。來看函式原型

int strcmp(string str1, string str2);

接受兩個引數,分別是str1和str2,按照字典的順序進行比較,如果str1比str2大(即str1在str2後面)則返回1,相等返回0,這個函式區分大小寫。

strcasecmp()用法相同,在strcmp()的基礎上增加不再區分大小寫。

strnatcmp()函式在strcasecmp()的基礎上增加按照自然順序比較,所以這個函式是不去分大小寫,且按照人們的習慣進行排序的。

使用strlen()函式測試字串的長度

這個函式可以用來測試陣列的長度,也可以用來測試字串的長度

判別是否有特定字串,並得到字串的位置,還可以該字串進行替換

4.1在字串中查詢字串:strstr()、strchr()、strrchr()、stristr()

上面幾個函式的作用是:在乙個字串中查詢另乙個字串,php中strchr和strstr是完全一樣的。

strstr()函式原型

string strstr(string str1,string needle);

接受兩個引數,第乙個是目標字串,第二個是要查詢的關鍵字。

返回第乙個匹配的關鍵字,如果不存在就返回false.

該函式是區分大小寫的,如果向不區分大小寫,可以使用stristr()

strrchr用法相同,只不過會返回最後乙個匹配的關鍵字。

4.2查詢字串的位置:strpos(),strrpos()

strpos的作用也是用來子乙個字串中查詢關鍵字,但是卻不是返回關鍵字,而是返回關鍵字開始的位置。函式原型如下:

int strpos(strinig haystack, string needle, int[offset]);

第乙個引數是要被查詢的字串,第二個是關鍵字。第三個是可選的引數,表示從字串的哪乙個位置開始查詢。

strrpos()用法相同,只不過返回的是最後乙個匹配的位置。

4.3替換字串:str_replace()、substr_replace()

這兩個字串的作用很大,可以將查詢的字串進行替換。

mixed str_replace(mixed needle, mixed new_needle, mixed haystack [, int & count]);

引數分別為:需要查詢的關鍵字,用於替換的關鍵字,字串操作物件,乙個可選的操作次數

substr_replace()的作用是用關鍵字將字串的指定位置給替換掉。

string substr_replace(string string ,string replacement, int start, int[length])

接受的引數為:字串操作物件,需要替換的關鍵字,開始替換的位置和乙個可選的引數為從開始到結束的長度。

4.4用正規表示式查詢字串:ereg()、eregi()

此函式是用正規表示式來查詢字串中查詢,看看有沒有匹配,函式原型為:

int ereg(string pattern, string search, array[matches]);

第乙個引數是正規表示式,第二個是字串操作物件,可選的第三個是用來儲存儲存匹配的字串,因為經常會有好幾個匹配。

eregi()函式跟上面是一樣的,只是不再區分大小寫。

4.5用正則表示達替換字串

使用函式str_replace()函式

4.6使用正規表示式分割字串

這個也是比較使用的功能,使用的是split()函式

array split(string pattern, string search[, int max]);

返回的結果是乙個陣列集合,第乙個引數是正規表示式,第二個是字串,第三個可選的是進入陣列的個數。

php字串操作

一空格特殊字元 1 string trim string str string charlist 去除字串開始結尾位置的空格和特殊字元 如果沒有第二個引數只去除空格 2 string ltrim string str string charlist 去除字串開始位置的空格和特殊字元 3 string...

PHP 字串操作

可以使用trim 函式去除字串開始位置和結束位置的空格,並把結果字串返回。預設情況下,去除 n r t xob 0和空格。也可以傳入第二個引數提供要過濾的特殊字元。ltrim 只從字串開始處去除,rtrim 只從字串結束處去除。nl2br 函式將會把字串中的換行符替換為 標記。當字串中含有一些有問題...

php字串操作

一空格特殊字元 1 string trim string str string charlist 去除字串開始結尾位置的空格和特殊字元 如果沒有第二個引數只去除空格 2 string ltrim string str string charlist 去除字串開始位置的空格和特殊字元 3 string...