Наступний 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))))
Таким чином, фраза «Фаворит Експертів в номінації» перетворюється до «Фаворит Експертів у номінації»,
а «Фаворит Успіху у номінації» стає «Фаворит Успіху в номінації».
Також код перевіряє наступну букву, після в/у, і ніколи не дозволить букві «у» стояти перед словом, що починається на «у», а «в» ніколи не буде стояти попереду іншої «в». Наприклад, фразу «погода в Україні» функція не дозволить перетворити в «погода у Україні», незважаючи на те, що перед «у» стоїть голосна. |