PHP strtr() 函数
说明
strtr()
函数翻译字符或替换字符串中的子字符串。
下表总结了该函数的技术细节。
返回值: | 返回翻译后的字符串。 如果 array 参数包含一个空字符串 ("") 的键,则将返回 FALSE 。 |
---|---|
版本: | PHP 4+ |
语法
strtr()
函数的基本语法如下:
strtr(string, from, to); -Or- strtr(string, array);
下面的例子展示了 strtr()
函数的作用。
<?php
// 示例字符串
$str = "Mary had a little lamb";
// 执行替换
echo strtr($str, "My", "Sa");
?>
如果 from 和 to 的长度不同,则忽略两者中较长的多余字符,这意味着结果字符串的长度将保持不变。
您也可以使用 array 代替 from 和 to 参数。 在这种情况下,键和值可以具有任意长度,前提是没有空键; 此外,结果字符串的长度可能与原始字符串不同。 这是一个例子:
<?php
// 示例字符串
$str = "hi all, I said hello";
// 定义替换对
$replace_array = array("h" => "x", "hi" => "hello", "hello" => "hi");
// 执行替换
echo strtr($str, $replace_array);
?>
如果你看到上面例子的输出,你会注意到这个函数没有选择"h",因为有更长的匹配可用。 此外,不会再次搜索替换的文本。
参数
strtr()
函数接受以下参数。
参数 | 说明 |
---|---|
string | 必填。 指定要翻译的字符串。 |
from | 必填。 指定要替换的字符或子字符串。 |
to | 必填。 指定替换子字符串。 |
array | 必需(除非使用 from 和 to)。 指定格式为 array("from" => "to", ...) 的数组。 这个参数可以用来代替from和to。 |
更多示例
下面是更多示例,展示了 strtr()
函数的实际工作原理:
此函数在两个和三个参数模式下的行为不同。 使用三个参数,strtr()
将替换字符; 而有两个,它可能会替换更长的子字符串。
<?php
// 示例字符串
$str = "woow";
// 定义替换对
$replace_array = array("wo" => "x1");
// 执行替换
echo strtr($str, "wo", "x1")."<br>";
echo strtr($str, $replace_array);
?>
Advertisements