1
Мне нужно отфильтровать строку, чтобы возвращать только «цифры, буквы и буквы с акцентами», используя PHP.Regex with only: цифры, буквы и акценты
Я пробовал много разных регулярных выражений, и я не мог.
Ближайший я получил:
$string = 'Você está bem? 123 # ! @ ...';
echo preg_replace('/[^\w\s+$]/', '_', $string);
// Return: Voc__ est__ bem_ 123 _ _ _ ___
// But I need to return: Você_está_bem_123 _ _ _ ___
Может кто-нибудь мне помочь? Я пытался решить это часами, даже ища другие вопросы.
Просто FYI: если ваш вход также содержит диакритические как отдельные символы (вам нужно добавить '\ р {M}' классу символов: '/ [^ \ ш \ р {М} \ s + $]/u' as '/ \ w/u' соответствует только' [\ p {L} \ p {N} _] ' –
Это работа, спасибо! Но мне нужно использовать« utf8_decode »и поэтому не работать: https: //ideone.com/IagsYU –
Вы должны запустить регулярное выражение в строке Unicode * перед тем, как передать его в 'utf8_decode'. –