PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 6
Евегнйи1721 Отправлено: 07 Марта, 2020 - 09:35:01 • Тема: Вырезать вхождения (несколько) из строки • Форум: Программирование на PHP

Ответов: 4
Просмотров: 511
Здравствуйте, подскажите пожалуйста как вырезать вхождения из строки

// Исходная строка
MINI «ДУЭТ» – 3000 р. MINI «SABAI» – 3500 р.

// Нужно
Вырезать от "–" до "р."
Поставить разделитель ";"

// Должно стать
MINI «ДУЭТ»; MINI «SABAI»
Евегнйи1721 Отправлено: 26 Ноября, 2019 - 10:51:15 • Тема: preg_match проверка email кириллического • Форум: Программирование на PHP

Ответов: 7
Просмотров: 788
LIME пишет:
Евегнйи1721 пишет:
я просто подумал что она кириллицу не воспринимает
а кириллицы какбэ и не может быть
если набрать в адресной строке домен.рф, а потом скопировав адрес вставить его в любой блокнот то получится http://xn--d1acufc[dot]xn--p1ai/
это и есть то что имелось ввиду
Мелкий пишет:
Пуникод проходить будет


У меня из админки сайта приходит кириллицей - ну я подумаю над этим

Почта отправляется с кириллице - адресанту все приходит (Наверное все под пуникод переделаю)
Евегнйи1721 Отправлено: 25 Ноября, 2019 - 00:35:12 • Тема: preg_match проверка email кириллического • Форум: Программирование на PHP

Ответов: 7
Просмотров: 788
Мелкий пишет:
Вы очень зря не обратили внимание что я вызов filter_var назвал регуляркой. Потому что регулярка это и есть, за килобайт размером.
https://github[dot]com/php/php-src/b[dot][dot][dot]l_filters[dot]c#L599

Если хотите проще - проверьте на наличие символа @


Ок попробую, я просто подумал что она кириллицу не воспринимает

И на проекта PHP 5.6
Евегнйи1721 Отправлено: 24 Ноября, 2019 - 20:27:28 • Тема: preg_match проверка email кириллического • Форум: Программирование на PHP

Ответов: 7
Просмотров: 788
Мелкий пишет:
Ваша регулярка неверна. Ни по RFC ни даже по широко используемым адресам.

Более корректная регулярка есть встроенная:
PHP:
скопировать код в буфер обмена
  1. filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)


Пуникод проходить будет. Насчёт локализованных доменов впрочем не уверен как нынче у этой функции дела, возможно конвертировать в пуникод надо будет.


Ок спасибо подумаю над использованием filter_var

Но лучше бы какую нибудь регулярку нормальную, ни где в интернете ни чего не нашел нормального
(Добавление)
Вот вроде не плохая регулярка

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. (([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})
  3.  
Евегнйи1721 Отправлено: 24 Ноября, 2019 - 16:57:08 • Тема: preg_match проверка email кириллического • Форум: Программирование на PHP

Ответов: 7
Просмотров: 788
Здравствуйте,

Не могу проверить email по регулярке, подскажите пожалуйста где ошибка

// test@домен.рф
// zaotest@квартира.рф
// и прочие

PHP:
скопировать код в буфер обмена
  1.  
  2. var_dump(preg_match('/^[a-zA-Zа-яА-Я_\d][-a-zA-Zа-яА-Я0-9_\.\d]*\@[a-zA-Zа-яА-Я\d][-a-zA-Zа-яА-Я\.\d]*\.[a-zA-Zа-яА-Я]{2,4}$/i','test@домен.рф'));//int(0)
  3.  
  4. die();
  5.  


// Добавил флаг u на конце регулярки заработало

PHP:
скопировать код в буфер обмена
  1.  
  2. var_dump(preg_match('/^[a-zA-Zа-яА-Я_\d][-a-zA-Zа-яА-Я0-9_\.\d]*\@[a-zA-Zа-яА-Я\d][-a-zA-Zа-яА-Я\.\d]*\.[a-zA-Zа-яА-Я]{2,4}$/iu','test@домен.рф'));//int(1)
  3.  
  4. die();
  5.  


Другой вопрос - какую маску прописать чтобы еще принимал домен в кодировке Punycode ???

На продуктиве будет похожий email
Евегнйи1721 Отправлено: 22 Октября, 2015 - 21:02:50 • Тема: Как объединить несколько заданий Cron в один файл • Форум: Работа с файловой системой и файлами

Ответов: 1
Просмотров: 924
Здравствуйте, подскажите пожалуйста

Как объединить несколько заданий Cron.php (Обновление ЦенТоваров) в один файл (Cron1.php, Cron2.php, Cron3.php и т.д. будет добавляться со временем)

Дано:
Файл CeniTovary.csv (Внем содержаться цены на товар). АртикулТовара^Цена. Пример:
Спойлер (Отобразить)

Файл Script1.php // Разбивает большой CeniTovary.csv(Прайс товаров) на МаленькиеФайлы.csv запускается по средствам задания Cron. Создает file1.csv; file2.csv; file3.csv
Спойлер (Отобразить)

Файлы Cron1.php; Cron2.php; Cron3.php (Будут добавляться)// Подгружают Прайсы товаров в БД запускаются по средствам задания в Cron
Спойлер (Отобразить)

Резюме: Все это сделано с той целью что бы не перегружать выполнение скрипта на сервере хостинга (не более 30 сек), т.к. исходный ФайлПрайсТовары.csv достаточно большой, если весь разом грузить через Cron1.php -> ФайлПрайсТовары.csv, то сервер выдает ошибку "Превышен интервал времени исполнения и т.д. (Ошибка 502 вроде)"

Сейчас заданий Cron уже 4 шт. (В процессе они только будут добавляться)

Время (23.00 каждый день) Задание
00 23 * * * /home/www/site.ru/Script1.php
01 23 * * * /home/www/site.ru/Cron1.php
02 23 * * * /home/www/site.ru/Cron2.php
03 23 * * * /home/www/site.ru/Cron3.php


Вопрос: Подскажите пожалуйста можно ли как то это все прописать Одним файлом и как следствие использовать одно задание Cron при этом не вызывая перезагрузки сервера на выполнения всех операций этих скриптов (Script1.php и Cron1.php; Cron2.php и др.)

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB