Почему не работает preg_replace в другой версии PHP?
Есть регулярное выражение preg_replace('~[^-a-z0-9_]+~u', '-', $str);
Я плох в регулярках, это просто готовый скопированный код. Так вот - он работает под PHP 7.1 но на 7.2 и выше - возвращает пустую строку. Что за магия?