$newdescription = '... хонда как и индия с харлейем ...';
$content 'хонда^кросс^спорт^дорожник;
индия^ямаха^китай;
харлей^лиаз^порше;';
$findsin = explode(';', $content);
$keys = array();
$sinonims = array();
$i = 0;
for ($i = 0; $i < count($findsin)-1; $i++) {
array_push($keys, explode('^', $findsin[$i])[0]);
array_push($sinonims, explode('^', $findsin[$i])[rand(1, count(explode('^', $findsin[$i]))-1)]);
}
$newdescription = str_ireplace($keys, $sinonims, $newdescription);
Не работает, заменяет какое-то одно слово в строке, а должен все...