Здравствуйте подскажите есть строка ZR||1|ЗО000018|XX.XX.XXXXX|XXXXXX|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZR||1|ЗО000019|XX.XX.XXXXX|XXXXXX|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX мне нужно найти все ЗО000018, ЗО000019 и т.д. спасибо
Т.е. там "ЗО" кирилица а дальше шесть любых цифр. PHP: preg_match_all('/\|(ЗО\d{6})\|/', $text, $matches); var_dump($matches[1]); http://sandbox.onlinephpfunctions.com/code/c7b09954ca66ca749784d804003f9b67404026a4
Здраствуйте, подсажите пожалуйста, как мне реализовать следующую задачу: У меня есть файл со ссылками, мне нужно произвести поиск по каждой строке, определить ссылка ли это на файл (.doc, .xlsx) Спасибо.
Например, проверить регулярным выражением наличие в ссылке .doc, .xlsx. PHP: $links = file('links.txt'); foreach ($links as $link) { if (preg_match('~(.*\.(doc|xlsx))~i', $link, $match)) { echo "File: " . $match[0] . "\n"; } }
Как верно подмечено, нюансов скачивания файлов много. По-изучайте библиотеку сURL https://php.ru/manual/book.curl.html может подойдёт. Простейший пример, без юзер-агента, таймаутов, кукисов, проверки что файл с таким именем уже существует в директории и пр. PHP: const PATH = __DIR__ . '/downloads/'; // Директория куда сохраняем файл $file = 'http://domain/file.ext'; $file_name = basename($file); // Извлекаем имя файла из ссылки $ch = curl_init($file); $fp = fopen(PATH.$file_name, "w"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_FILE, $fp); curl_exec($ch); // Проверяем на ошибки и выводим их описание if ($errno = curl_errno($ch)) { echo "cURL error ({$errno}): " . curl_strerror($errno); } curl_close($ch); fclose($fp);