strtr() 是 PHP 的內置函數,用於替換另一個字符串中的子字符串。它提供了更改字符串中特定單詞的函數。 strtr() 函數轉換字符或替換子字符串。這是一個區分大小寫的函數。 PHP 4+ 版本支持此函數。
注意:strtr() 函數從該字符出現的所有位置替換該字符。
PHP 中還有一些其他函數類似於 strtolower() 函數:
用法
此函數有兩種可用的語法,一種用於字符串或字符替換,另一種用於數組鍵替換。下麵給出了這些語法。
對於字符串替換:
strtr (string $str, string $from, string $to)
這個函數中有三個參數。在用 $to 替換 $from 的每個字符後,它返回 $str 的副本。
對於數組鍵替換:
strtr (string $str, array $replace_pair)
這裏,上麵的函數包含兩個參數。第二個參數是$replace_pair,它是一個數組的形式('from' => 'to', ?)。將所有出現的數組鍵替換為相應的值後,它將返回一個字符串。
參數
$str:它是一個正在翻譯的字符串參數,表示它是將要翻譯的主字符串。
$from:此函數的下一個參數,將在字符串中替換為$to。除非使用數組,否則它是必需參數。
$to:它是一個參數,將替換為 $from 變量。除非使用數組,否則此參數也需要作為 $from。
注意:如果 from 和 to 的長度不同,那麽較長字符串的多餘字符將被忽略。返回的字符串 $str 的長度將相同。
$replace_pair:這個參數是數組的形式,而不是from和to。該數組包含兩個字符串($string1 和 $string2),即需要更改的 string1 和更改為的 string2。
注意:如果 string1 和 string2 的長度不同,那麽較長的字符串將被格式化為較短字符串的長度。
返回值
- 它在用 $to 字符替換 $from 字符後返回翻譯後的字符串。
- 如果傳遞的參數是數組($replace_pair),則它通過將鍵字符串更改為相應的值來返回轉換後的字符串。如果該數組參數包含帶有空字符串 (? ?) 的鍵,則它將返回 FALSE。
例子
下麵給出了一些例子。借助這些示例,我們可以了解 strtr() 函數的工作原理。
例子1
<?php
$strng1 = "Hiy! Guud Mohneng";
$from = "yuhe";
$to = "eori";
echo strtr($strng1, $from, $to);
?>
輸出:
Hie! Good Morning
解釋
y 替換為 e
u 替換為 o
h 替換為 r
e 替換為 i
所以,嗨! Guud Mohneng 被 Hie 取代!早上好。
例子2
PHP 程序演示 $from 和 $to 長度不同時的 strtr() 函數。
<?php
$strng1 = "Hiy! Geud Mohning";
$from = "yeuh";
$to = "eor";
echo strtr($strng1, $from, $to);
?>
輸出:
Hie! Gord Mohning
解釋
y 替換為 e
e 替換為 o
u 替換為 r
h 不會被任何字符替換。
現在,嗨! Geud Mohneng 被 Hie 取代!戈德·莫寧。
例子3
用數組鍵替換
<?php
$strng = "Wilcone to javaCpoint.";
$arr1 = array("Wilcone" => "Welcome", "javaCpoint" => "javaTpoint");
echo strtr($strng, $arr1);
?>
輸出:
Welcome to javaTpoint.
示例 4
PHP程序演示strtr()函數,當數組key為空""字符串時。
<?php
$strng = "Wilcone to javaCpoint.";
$arr1 = array("Wilcone" => "Welcome", "" => "javaTpoint");
echo strtr($strng, $arr1);
?>
輸出:
No output
例 5
用單個字母多次替換
<?php
$string = "Wilcone to javaCpoint.";
$from = "inC";
$to = "emT";
echo strtr($string, $from, $to);
?>
輸出:
Welcome to javaTpoemt.
解釋
i 在多個地方被 e 替換。
n 在多處替換為 m。
C 僅被 T 替換一次,因為此函數區分大小寫。
因此,將 Wilcone to javaCpoint 替換為 Welcome to javaTpoemt 而不是 Welcome to JavaTpoint。
例 6
區分大小寫
<?php
$strng = "Gqqd health Gqqd Life.";
$from = "q";
$to = "o";
echo strtr($strng, $from, $to);
echo "</br>";
echo strtr($strng, "Q", "o";); //case-sensitive
?>
輸出:
在本例中,對於第一種情況,所有出現的 q 都替換為 o。另一方麵,Q 沒有替換為 o,因為它是一個區分大小寫的函數。
Good health Good Life. Gqqd health Gqqd Life. //case-sensitive
相關用法
- PHP String strtolower()用法及代碼示例
- PHP String strtoupper()用法及代碼示例
- PHP String strtok()用法及代碼示例
- PHP String strspn()用法及代碼示例
- PHP String strstr()用法及代碼示例
- PHP String str_replace()用法及代碼示例
- PHP String strrpos()用法及代碼示例
- PHP String sprintf()用法及代碼示例
- PHP String substr()用法及代碼示例
- PHP String substr_count()用法及代碼示例
- PHP String substr_replace()用法及代碼示例
- PHP String sscanf()用法及代碼示例
- PHP String substr_compare()用法及代碼示例
- PHP String wordwrap()用法及代碼示例
- PHP String ucwords()用法及代碼示例
- PHP String localeconv()用法及代碼示例
- PHP String quoted_printable_encode()用法及代碼示例
- PHP String ucfirst()用法及代碼示例
- PHP String nl2br()用法及代碼示例
- PHP String vsprintf()用法及代碼示例
注:本文由純淨天空篩選整理自 PHP String strtr() function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。