PHP 中的 Perl 正则表达式 tr 函数
Perl regex tr function in PHP
我主要使用perl
,它有一个有用的功能可以将字符更改为其他字符,tr
:
$str =~ tr/[ÁÉÍÓÖŐÚÜŰ]/[AEIOOOUUU]/;
现在我需要将它实现到 PHP
,但我发现只有 str_replace
函数 只能一个一个地改变,像这样:
$str = str_replace('Á', 'A', $str);
$str = str_replace('É', 'E', $str);
// etc...
PHP 中是否有类似 Perl 的单行解决方案?
在 PHP 中使用 strtr
function 来翻译字符:
$str = 'ÁÉÍ foo ÖŐÚÜŰ bar';
echo strtr($str, array('Á' => 'A', 'É' => 'E', 'Í' => 'I', 'Ó' => 'O',
'Ö' => 'O', 'Ő' => 'O', 'Ú' => 'U', 'Ü' => 'U', 'Ű' => 'U'));
//=> AEI foo OOUUU bar
我主要使用perl
,它有一个有用的功能可以将字符更改为其他字符,tr
:
$str =~ tr/[ÁÉÍÓÖŐÚÜŰ]/[AEIOOOUUU]/;
现在我需要将它实现到 PHP
,但我发现只有 str_replace
函数 只能一个一个地改变,像这样:
$str = str_replace('Á', 'A', $str);
$str = str_replace('É', 'E', $str);
// etc...
PHP 中是否有类似 Perl 的单行解决方案?
在 PHP 中使用 strtr
function 来翻译字符:
$str = 'ÁÉÍ foo ÖŐÚÜŰ bar';
echo strtr($str, array('Á' => 'A', 'É' => 'E', 'Í' => 'I', 'Ó' => 'O',
'Ö' => 'O', 'Ő' => 'O', 'Ú' => 'U', 'Ü' => 'U', 'Ű' => 'U'));
//=> AEI foo OOUUU bar