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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。