Функция регулярного выражения Perl в переполнении стека

я использую perl в основном и имеет полезную функцию, чтобы изменить характер для других, tr:

 $str =~ tr/[ÁÉÍÓÖŐÚÜŰ]/[AEIOOOUUU]/;

Теперь мне нужно реализовать это в PHP, но я нашел только str_replace Функция меняется только один за другим, вот так:

$str = str_replace('Á', 'A', $str);
$str = str_replace('É', 'E', $str);
// etc...

Есть ли в PHP нечто однолинейное решение, как в Perl?

2

Решение

В PHP использую strtr функция вот так для перевода символов:

$str = 'ÁÉÍ foo ÖŐÚÜŰ bar';
echo strtr($str, array('Á' => 'A', 'É' => 'E', 'Í' => 'I', 'Ó' => 'O',
'Ö' => 'O', 'Ő' => 'O', 'Ú' => 'U', 'Ü' => 'U', 'Ű' => 'U'));
//=> AEI foo OOUUU bar
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]