Следующий PHP-код исправляет украинский текст, в соответствии с правилами мелозвучности украинского языка:
return preg_replace(’/([аеиоуюяєіїАЕИОУЮЯЄІЇ])(<[^>]+?>)?((\s| | +)у(\s| | +)([^вВ]))/’, ’$1$2$4в$5$6’,
preg_replace(’/([^аеиоуюяєіїАЕИОУЮЯЄІЇ])(<[^>]+?>)?((\s| | +)в(\s| | +)([^уУ]))/’, ’$1$2$4у$5$6’,
preg_replace(’/(\s| | +)в(\s| | +)([вВ])/’, ’$1у$2$3’,
preg_replace(’/(\s| | +)у(\s| | +)([уУ])/’, ’$1в$2$3’, $s))));
Таким образом, фраза «Фаворит Експертів в номінації» преобразуется в «Фаворит Експертів у номінації»,
а «Фаворит Успіху у номінації» становится «Фаворит Успіху в номінації». Более того, код проверяет следующую букву, после в/у, и никогда не позволит стоять букве «у» перед словом начинающимся на «у», и не дасть «в» стоять перед другой «в». Например, фразу «погода в Україні» функция не позволит превратить в «погода у Україні», несмотря на то, что перед «у» стоит другая гласная. |