在 PHP 中,你可以使用內建的函數來尋找和取代字串。在本文中,我們將會介紹以下函數:
strpos() 函數用來找出字串中某個子字串的第一個出現位置。如果找到了,它將返回該位置,否則返回
false。
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
$haystack 表示要在其中尋找子字串的目標字串;
$needle 表示要尋找的子串;
$offset 表示尋找的起始位置。
'hello world' 中第一個出現的子字串
'world':
$pos = strpos('hello world', 'world'); if ($pos !== false) { echo "找到了,位置在 $pos。"; } else { echo "未找到。"; }這個範例會輸出:
找到了,位置在 6。如果在目標字串中沒有找到子字串,則
strpos() 函數會傳回
false,我們可以用
if 語句來判斷是否找到了。
strstr() 函數用於尋找字串中某個子字串的第一個出現位置,並傳回該位置以及其後面的所有字元。
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
$haystack 表示要在其中尋找子字串的目標字串;
$needle 表示要尋找的子字串;
$before_needle 表示是否傳回子字串前面的字符,如果設定為
true,則傳回子字串前面的字符,否則傳回子字串及其後面的字元。
'hello world' 中子字串
'world':
$result = strstr('hello world', 'world'); echo "查找结果:$result";這個範例會輸出:
查找结果:world如果把
$before_needle 設為
true,則會傳回子字串前面的字元:
$result = strstr('hello world', 'world', true); echo "查找结果:$result";這個範例會輸出:
查找结果:hello3. str_replace()
str_replace() 函數用來將字串中的某個子字串替換成另一個子字串。
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
$search 表示要替換的子字串;
$replace 表示替換成的子字串;
$subject 表示要替換的目標字串;
$count 表示替換的次數,如果設定了該參數,則替換的次數將被儲存到該變數中。
'hello world' 中的
'world' 替換成
'PHP' :
$string = 'hello world'; $string = str_replace('world', 'PHP', $string); echo $string;這個範例會輸出:
hello PHP上面的範例中,
$count 參數沒有被設置,因此替換的次數沒有被儲存。如果需要保存替換的次數,可以按照下面的方式使用:
$string = 'hello world'; $count = 0; $string = str_replace('world', 'PHP', $string, $count); echo "替换了 $count 次。结果为:$string";這個例子會輸出:
替换了 1 次。结果为:hello PHP至此,我們介紹了PHP 中常用的三個字串處理函數:
strpos()、
strstr() 和
str_replace()。您可以根據自己的需求來選擇使用何種函數來處理字串。
以上是php中如何尋找和取代字串(方法淺析)的詳細內容。更多資訊請關注PHP中文網其他相關文章!