$string = 'Машинист Машиниста Машинисту Машиниста Машинистом Машинисте Машинисты Машинистам Машинистов Машинистам Машинистах'; $patterns = array(); $patterns[0]= '/машинист/'; $patterns[1]= '/Машиниста/'; $patterns[2]= '/Машинисту/'; $patterns[3]= '/Машиниста/'; $patterns[4]= '/Машинистом/'; $patterns[5]= '/Машинисте/'; $patterns[6]= '/Машинисты/'; $patterns[7]= '/Машинистов/'; $patterns[8]= '/Машинистам/'; $patterns[9]= '/Машинистов/'; $patterns[10]= '/Машинистами/'; $patterns[11]= '/Машинистах/'; $replacements = array(); $replacements[0] = 'турист'; $replacements[1] = 'туриста'; $replacements[2] = 'туристу'; $replacements[3] = 'туриста'; $replacements[4] = 'туристом'; $replacements[5] = 'туристе'; $replacements[6] = 'туристы'; $replacements[7] = 'туристов'; $replacements[8] = 'туристами'; $replacements[9] = 'туристов'; $replacements[10] = 'туристами'; $replacements[11] = 'туристах'; echo preg_replace($patterns, $replacements, $string );
How can I simplify the regular expression for replacing words with cases?