Here is my script
$searchArray = array(\"Coupon Codes\", \"Coupon Code\", \"Promo\", \"Promo Codes\");
$replaceArray = array(\"Promo Code\", \"Promo Codes\", \"
As on: http://php.net/manual/en/function.str-replace.php
Because str_replace() replaces left to right, it might replace a previously inserted value when doing multiple replacements. See also the examples in this document.
So here's what happens:
Best Buy Coupon Codes -> Best Buy Promo Code (first pair) -> Best Buy Coupons Code (third pair)
Change $searchArray (and $replaceArray) it in a way that the next examples doesn't include previous ones in them (i.e. from shortest string to longest string)