Перейти к содержимому


Партнерская программа Kredov

Регулярные Выражения

#11 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143
0

Отправлено 08 Январь 2011 - 11:57

При выполнение данного кода, парсер заполняет массив $end вот так

Array ( [0] => 22:03:55 7th [1] => [2] => Вольский Владислав Сергеевич [3] => [4] => cockt@mail.ru [5] => [6] => Кое какой текст для проверки функции mail() )

это конечно не проблема, но хотелось бы удалить пустые ненужные элементы и перезаписать ключи по порядку. Можете подсказать алгоритм?

Можно, например, в цикле пробежаться по всем элементам массива $end и в случае если значение конкретного элемента не равно пустоте, то записать это значение в другой массив:
for($i = 0; $i < count($end); $i++)
{
if($end[$i] != '') $data[] = $end[$i];
}

  • 0


#12 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 08 Январь 2011 - 12:43

surfer, можно конечно, но очень хотелось попробовать регулярные выражения ;)

зачем, ты тривиальные задачи решать не умеешь, а берешься за сложные, тем более в данном примере это решается все гораздо проще?
  • 0

#13 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 08 Январь 2011 - 15:32

какие задачи есть тривиальными? есть такие задачи в теме "Задачи для начинающих" ?
Если есть то под каким номером?

Я понимаю что я нуб, практически ничего не умею, но Я ХОЧУ развиваться и практиковаться...


  • 0


#14 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 08 Январь 2011 - 15:50

я уяснил для себя, для тоо чтоб развиваться знание и умение пользоваться функциями это не главное, главное научиться думать :blink:


  • 0

#15 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 08 Январь 2011 - 16:16

я уяснил для себя, для тоо чтоб развиваться знание и умение пользоваться функциями это не главное, главное научиться думать ;)[/quote]
знаю, часто задачи решаются очень просто, но для этого нужно хорошо подумать... я иногда решаю задачки на бумажке, а только тогда пишу код :blink:

пс. ссылка не работает, наверно из-за редиректа((
короче, кто не знает что такое тривиальный, привожу синонимы

Синонимы
неоригинальный, банальный, стандартный
элементарный, примитивный, простейший

  • 0


#16 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 19 Январь 2011 - 00:16

Banderas, ошибка по split - функция устарела, это предупреждение, что её пора исключать из своего лексикона.
  • 0

#17 tro9an

tro9an
    Topic Starter
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 07 Апрель 2012 - 22:12

preg_match( '/^[a-z][-_a-z0-9]{2,}@[a-z]{2,}.[a-z]$/i', $email);
Не пропускает m1sha@mail.ru. Почему?
  • 0

#18 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 08 Апрель 2012 - 09:23

А также не пропустит кучу других валидных почтовиков... например, mail@site.info, mail@i.ua, ma@mail.ru и т.д.
Указанный email (m1sha@mail.ru) не пропускает по той причине, что в регулярке последняя часть адреса (ru) не подходит под регулярку:

/^[a-z][-_a-z0-9]{2,}@[a-z]{2,}.[a-z]$/i


регулярка "говорит", что в конце может быть только 1 символ. Соответственно, нужно добавить квантор, например - {2,6}
По хорошему Вашу регулярку можно переписать примерно так:

/^[a-z][-_a-z0-9]+@[a-z]+.[a-z]{2,6}$/i

А вообще, лишнее все это. Я могу ввести любой почтовик от балды, например mail@mail.ru... такого почтовика реально может и не быть, но валидацию он пройдет. Если уж проверять email, то следует использовать подтверждение по email.
  • 0


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru