Это класс, который хранит имя пользователя и адрес электронной почты. Метод set_email () проверяет указанный адрес, чтобы убедиться, что он выглядит действительным, прежде чем сохранить его.
Функция eregi проверяет адрес электронной почты с помощью регулярного выражения. Это очень мощные способы выполнения строк и парсинга, но этот конкретный пример, вероятно, не лучшее введение. Если вы только начинаете использовать регулярные выражения, вы можете посмотреть регулярные выражения, совместимые с Perl , так как они более широко используются и более мощны. Кроме того, функции ereg устарели с PHP5.3 +
Вот один источник вводной информации , и я бы порекомендовал использовать приложение, такое как Regex Coach , для игры и проверки регулярных выражений.
Чтобы разбить его:
^ # force match to be at start of string
([0-9,a-z,A-Z]+) # one or more alphanumerics
([.,_,-]([0-9,a-z,A-Z]+)) # followed by period, underscore or
# dash, and more alphanumerics
* # last pattern can be repeated zero or more times
[@] # followed by an @ symbol
([0-9,a-z,A-Z]+) # and one or more alphanumerics
([.,_,-]([0-9,a-z,A-Z]+)) # followed by period, underscore or dash,
# and more alphanumerics
* # last pattern can be repeated zero or more times
[.] # followed by a period
([0-9,a-z,A-Z]){2} # exactly two alphanumerics
([0-9,a-z,A-Z])*$ # then the remainder of the string must be
# alphanumerics too - the $ matches the end of the
# string
Написание регулярного выражения, соответствующего 100% всех действительных адресов электронной почты, довольно сложно, и это упрощенный шаблон, который будет соответствовать большинству. Вот хорошая статья о написании шаблонов регулярных выражений адресов электронной почты .