2013-07-12 2 views
1

Пытаюсь написать функцию, чтобы исправить случай набора anacroyms, но не может видеть, как сделать это более логично ..str_replace - заменить набор строк с другой набор

я это в тот момент,

$str = str_ireplace(" worda ", " Worda ", $str); 
$str = str_ireplace(" wordb ", " woRrdb ", $str); 

и так далее, его длинный список!

Есть ли способ, которым я мог бы иметь набор строк для замены набором замен? Ака:

worda = Worda 
wordb = woRdb 

Я видел другие примеры использования preg_replace тоже, но не может видеть способ сделать это с помощью этой функции либо.

ответ

1

Вы можете дать список слов в массив в качестве параметра в str_ireplace,

$str = str_ireplace(array("worda","wordb"),array("Worda","woRrdb"),$str); 

Красивее,

$searchWords = array("worda","wordb"); 
$replaceWords = array("Worda","woRrdb"); 
$str = str_ireplace($searchWords,$replaceWords,$str); 
0

Хм, кажется, что вы не хотите, чтобы верно написать функцию str_replace много раз. Так вот это решение для него:

вы можете забрать свои данные в массиве как:

$arr = array("worda" => "Worda", "wordb" => "woRdb"); 

Надеется, что это будет легко сделать для вас.

И затем использовать цикл foreach для него:

foreach($arr as $key => $value){ 
    $str = str_ireplace($key, $value, $str); 
} 
0

Вот как вы можете сделать это с помощью ассоциативного массива:

$words = array('worda' => 'Worda', 'wordb' => 'woRdb'); 
$str = str_ireplace(array_keys($words), array_values($words), $str); 
Смежные вопросы