O titulo jah diz tudo…
Para realizar o cadastro, você pode preencher o formulário ou optar por uma das opções de acesso rápido disponíveis.
Por favor, insira suas informações de acesso para entrar ou escolha uma das opções de acesso rápido disponíveis.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Boa tarde!
A diferença está no conjunto de caracteres usados.
A função substr (e todas as outras de string http://br2.php.net/manual/pt_BR/ref.strings.php ) assume que cada byte (8 bits) representa um caractere, o que é verdade para os símbolos básicos (a, b, c, …, A, B, C, …, 1, 2, 3, …, $, %, &, …) mas não é verdade para outros símbolos (á, é, í, …, →, √, …).
Já a função mb_substr (e todas as mb_* http://br2.php.net/manual/pt_BR/ref.mbstring.php ), manipula corretamente os caracteres mais complexos. A sigla mb quer dizer multi-byte, ou seja, cada caractere pode ser representado por mais de um byte.
Então, quando se trabalha com textos sem acentos e escritos em ASCII (http://www.asciitable.com/ ) não existe diferença entre as duas funções. Mas raramente essa é a verdade, o português é cheio de acentos e, portanto, é bom usar somente as funções mb.
Um exemplo prático: contar quantas letras tem a palavra “cartão”. Veja a diferença:
(copie e cole daqui para testar)
Como a função substr é intimamente ligada com a contagem de caracteres, então isso pode causar vários erros.
Como já disse, quando se trabalha com ASCII (um tipo de codificação) não costuma dar problema. Ele surge ao usar, por exemplo, UTF-8 (uma outra forma de codificação, melhor que ASCII). Assim, para evitar problemas use mb_substr. No primeiro caso não faz diferença, no segundo faz.
Boa parte dos sites (inclusive o Yahoo) usam o padrão UTF-8, pois ele dá suporte a milhares de caracteres diferentes (exemplo, o alfabeto grego minúsculo: α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω).
Um site usa UTF-8 quando no topo da página html vem a tag:
(veja que esse página contém isso)
Bons estudos!