/ / PHP - verifica se uma string é um caractere alfanumérico multibyte - php, utf-8, multibyte

PHP - verifique se uma string é um caractere alfanumérico multibyte - php, utf-8, multibyte

Eu preciso descobrir se uma string contém exatamente um caractere alfanumérico. A solução óbvia seria verificar o comprimento e o código ASCII (A-Z, a-z, 0-9) - mas o problema é que eu estou trabalhando com cordas utf-8 e letras acentuadas como á, ř, č etc.

Existe uma maneira simples de verificar se um caractere utf-8 é alfanumérico (letra do alfabeto latino, possivelmente acentuado ou um número)?

Respostas:

0 para resposta № 1

Isso é feito facilmente com um expressão regular:

$count = preg_match_all("/w/u", $string);
if ($count === 1) {
echo "One alphanumeric character found";
}

w irá corresponder a qualquer caractere "palavra", que são letras, números e sublinhados. o u modificador trata a string como unicode, por isso incluirá caracteres acentuados.

Se os sublinhados correspondentes forem um problema que você poderia usar [:alnum:] como um classe de personagem jogo em vez disso.