2009-05-15 11 views

Odpowiedz

4

Funkcje mb_ działają również z ciągami Multi-Byte (Unicode). W adresach e-mail nie należy rozróżniać wielkich i małych liter - nie ma powodu, aby konwertować je na niższe.

+3

Według about.com The "adres lokalny" * ma * wielkość liter ma znaczenie, w odniesieniu do RFC 2821 (niezależnie od tego, czy MTA w ten sposób w praktyce jest to zupełnie inne pytanie), podczas gdy w domenach nie ma znaczenia wielkość liter. zobacz: http://email.about.com/od/emailbehindthescenes/f/email_case_sens.htm Najlepszą praktyką jest pozostawienie sprawy w stanie nienaruszonym na dowolnym adresie, z którego zamierzasz korzystać. Konwertowanie na małe litery w celu porównywania/oceniania wyjątkowości prawdopodobnie ma jednak sens. –

5

jaka jest różnica między strtolower i mb_strtolower?

Funkcje mb_ * działają z ciągiem wielobajtowym. Instrukcja mówi:

W przeciwieństwie do strtolower(), "alfabetyczny" jest określany przez właściwości znaku Unicode. W związku z tym na zachowanie tej funkcji nie mają wpływu ustawienia narodowe i może ona konwertować dowolne znaki posiadające właściwość "alfabetyczną", na przykład A-umlaut (Ę).

-

Czy istnieje email tak: [email protected]

Tak, przypuszczam, że nie może być adresy e-mail tak. Zauważyłem, że generalnie adresy e-mail nie uwzględniają wielkości liter, więc nie zawracam sobie głowy zmianą ich przypadku.

+0

Mam email: [email protected] Mój serwer nie może wysłać do niego e-maila. Wysyłanie wiadomości e-mail jest generowane automatycznie –

+0

Domeny nie uwzględniają wielkości liter. Wysyłanie do GoOgLE.com powinno działać równie dobrze jak wysyłanie do google.com, w teorii. –

7

strtolower(); nie działa dla polskich znaków

<?php strtolower("mĄkA"); ?> 

powróci: Maka;

najlepszym rozwiązaniem - wykorzystanie mb_strtolower()

<?php mb_strtolower("mĄkA",'UTF-8'); ?> 

powróci: mąka

Zobacz strtolower() & mb_strtolower() w PHP Manual

Powiązane problemy