Intereting Posts
Динамическое заполнение выпадающего списка с использованием данных JSON Как пополнить, наполнить и округлить цифры в bcmath? как аутентифицировать RESTful API в Laravel 5? Разбор больших текстовых файлов с PHP без убийства сервера XMLHttpRequest не будет работать в IE 7/8, но работает в других браузерах Получение ошибки 324 (net :: ERR_EMPTY_RESPONSE). при использовании memcache в kohana Обновление RSS через sms Google App Engine (php): функция glob () Как сделать глубокую копию объекта DateTime? PHP: 500 Ошибка для страницы с ошибкой как получить переменные сеанса с использованием идентификатора сеанса Получить текущий рабочий стол пользователя с помощью PHP – WampServer PHP-эквивалентное шифрование / дешифрование для Java tripleDES. Я не получаю такое же шифрование / дешифрование Codeigniter не отображает validation_errors () Замена тегов в фигурных скобках, даже вложенных тегах, с регулярным выражением

Поиск и замена нескольких значений несколькими / разными значениями в PHP5?

Есть ли встроенная функция PHP для замены нескольких значений внутри строки массивом, который точно определяет, что заменяется на что?

Например:

$searchreplace_array = Array('blah' => 'bleh', 'blarh' => 'blerh'); $string = 'blah blarh bleh bleh blarh'; 

И в результате получилось бы: bleh blerh bleh bleh blerh.

Вы ищете str_replace() .

 $string = 'blah blarh bleh bleh blarh'; $result = str_replace( array('blah', 'blarh'), array('bleh', 'blerh'), $string ); 

// Дополнительный совет:

И если вы застряли с ассоциативным массивом, как в вашем примере, вы можете разделить его так:

 $searchReplaceArray = array( 'blah' => 'bleh', 'blarh' => 'blerh' ); $result = str_replace( array_keys($searchReplaceArray), array_values($searchReplaceArray), $string ); 
 $string = 'blah blarh bleh bleh blarh'; $trans = array("blah" => "blerh", "bleh" => "blerh"); $result = strtr($string,$trans); 

Подробное объяснение можно найти в руководстве .

str_replace () делает это.

Вы можете проверить руководство для более подробного объяснения.

Для того, что у вас есть, просто передайте этот массив в str_replace как для поиска, так и для замены (используя array_keys в параметре поиска, если вы хотите сохранить массив как есть).