Вы хотите сделать это на клавишах или клавишах и значениях или просто сохранить ключи и обработать значения? В любом случае, array_combine()
, array_keys()
и array_values()
могут достичь этого в сочетании.
На ключей:
$keys = array_keys($input);
$values = array_values($input);
$result = preg_replace($pattern, $replacement, $keys);
$output = array_combine($result, $values);
На ключей и значений:
$keys = array_keys($input);
$values = array_values($input);
$newKeys = preg_replace($pattern, $replacement, $keys);
$newValues = preg_replace($pattern, $replacement, $values);
$output = array_combine($newKeys, $newValues);
О значениях подпорные ключей:
$keys = array_keys($input);
$values = array_values($input);
$result = preg_replace($pattern, $replacement, $values);
$output = array_combine($keys, $result);
Все они предполагают функцию что-то вроде:
function regex_replace(array $input, $pattern, $replacement) {
...
return $output;
}
Смотрите эту ссылку [Pre_REPLACE с Asscoiate массива] [1] [1]: http://stackoverflow.com/questions/17979011/use-preg-replace-to-replace-whole-words -при-ассоциативно-массив –