php常用字元函式例項小結

2022-10-06 08:39:10 字數 2923 閱讀 6825

1. string substr(string www.cppcns.com $string, int $start   [,int    $length])

函式功能:返回字串string由start和length引數指定的子字串。

引數:string:輸入字串。

start:如果start是非負數,返回的字串將從string的start位置開始,從0開始計算。如,『abcdef'中,在位置0的為『a',位置2為『c ';

如果start是負數,返回字串將從string結尾處向前數第start個字元開始。

如果string的長度小於或等於start,則返回false。

$rest=substr(" abcdef ",-1);//返回「 f 」

$rest=substr(" abcdef ",-2);// 返回 「 ef 」

$rest=substr(" abcdef ",-3,1); /程式設計客棧/返回 「 d 」

$length:如果提供了正數的length,返回的字串從start處開始最多包括length個字元(取決於string的長度)。

如果提供了負數的length,那麼string末尾處的許多字元將會漏掉,即為從末尾處不考慮字元(可以理解我截斷),如果start不在文字中,那麼將返回乙個空字串。

如果提供了值為0,false或null的length,那麼將返回乙個空字串。

如果沒有提供length,返回的字元www.cppcns.com串將從start的位置一直到字元結束。

$rest=substr("abcdef","0","-1"); //返回 abcde

$rest=substr("abcdef","2","-1"); //返回 cde

$rest=substr("abcdef"," 4","-4"); //返回 null

$rest=substr("abcdef","-3","-1"); //返回 de

[ ]中括號代表該引數為可選引數,不設定即為預設引數。(接觸php快8個月了,一直奇怪函式的引數為啥要加個中括號,今天終於忍不住百度了下!慚愧!)

2. int preg_match(string  $pattern ,string $subject [, array &$matches  [,  int  $flag=0 [, int $offset=0 ]]])

函式功能:搜尋subject與pattern給定的正規表示式的乙個匹配。

引數:$pattern:要搜尋的模式,字元型別。

$subject:輸入字串。

$matches:如果提供了引數matches,它將被填充為搜尋結果,$matches[0]包含完整模式匹配到的文字,$matches[1]將包含第乙個捕獲子組匹配到文字,以此類推。

$flags :flags可以被設定為以下標記值:

preg_offset_capture

如果傳遞了這個標記, 對於每乙個出現的匹配返回時會附加字串偏移量(相對於目標字串的). 注意: 這會改變填充到matches引數的陣列, 使其每個元素成為      一 個由 第0個元素是匹配到的字串, 第1個元素是該匹配字串 在目標字串subject中的偏移量.

offset:

通常, 搜尋從目標字串的開始未知開始.可選引數offset用於 指定從目標字串的某個未知開始搜尋(單位是位元組).

note:

使用offset引數不同於向preg_match() 傳遞按照位置通過substr($subject, $offset)擷取目標字串結果, 因為pattern可以包含斷言比如^,$ 或者(?<=x). 比較:

<?php $subject = "abcdef";

$pattern = '/^def/';

preg_match($pattern, $subject程式設計客棧, $matches, preg_offset_capture, 3);

print_r($matches);

?>

以上例程會輸出:

array

()<?php $subject = "abcdef";

$pattern = '/^def/';

preg_match($pattern, substr($subject,3), $matches, preg_offset_capture);

print_r($matches);

?>

將會產生匹配

array

( [0] => array

([0] => def

[1] => 0))

3. strpos(string,find,start)

string:必須,規定被搜尋的字串。

find:必須,規定要查詢的字元。

start:可選,規定開始搜尋的位置,預設從第乙個字元開始。

該函式對大小寫敏感,如不希望這樣可以使用stripos()函式

例:echo strpos("hello world! "," wo ");// 輸出 6

4. string dirname(string path)

函式功能:取得路徑中的目錄名。在 win32 系統中,用斜線 (/) 或者反斜線 (\) 都可以;但是其它的作業系統的路徑都是 (/)。

$path = "/etc/hostname";

$file = dirname($path);

$file 為 "/etc"

5. str_split(string,length)

string 必需。規定要分割的字串。

length 可選。規定每個陣列元素的長度。預設是 1。

<?php print_r(s程式設計客棧tr_split("hello"));

?>

執行結果:

array

([0] => h

[1] => e

[2] => l

[3] => l

[4] => o

)

php常用字元函式

t1 asdaqdwer t2 aqd echo strpos t1,t2 查詢字串第一次出現的位置 echo substr asdasd 2 從2位置返回字元的一部分 echo strstr t1,t2 從 t1中搜尋字串 t2 顯示出來從它開始到結束 echo str replace t2,t1...

php常用字串函式小結

閱讀目錄 php內建了98個字串函式 除了基於正規表示式的函式,正規表示式在此不在討論範圍 能夠處理字串中能遇到的每乙個方面內容,本文對常用字串函式進行簡單的小結,主要包含以下8部分 1.確定字串長度 2.比較字串 3.分割連線反轉 4.html與字串相互轉化 5.填充和剔除字串 6.統計字元和單詞...

php常用字串處理函式例項分析

這裡只提供幾個簡單常用的函式 chop執行去除空格處理,get html translation table返回轉化列表到變數,定義包括html編碼的字串htmlentities,htmlspecialchars decode 定義包含html特殊字元的字串,nl2br quotemeta rtri...