Пытаюсь автоматизировать работу с отслеживанием посылок.
Второй день бьюсь, и не могу составить правильное условие проверки, получена ли посылка
Вот так ошибочно
$source = file_get_contents('https://webservices.belpost.by/searchRu/vv162235936by');
preg_match_all('|<span id="GridInfo0_(.*?)</span>|i', $source, $m);
if ((preg_match_all('|Поступило в участок обработки почты|i', $m[0][4]) or preg_match_all('|Поступило в участок обработки почты|i', $m[0][5])) && (!preg_match_all('|РУПС|i', $m[0][4]) or !preg_match_all('|ОПП|i', $m[0][4]) or !preg_match_all('|УООП|i', $m[0][4]) or !preg_match_all('|ЦОПП|i', $m[0][4]) or !preg_match_all('|Центр|i', $m[0][4]) or !preg_match_all('|УПС|i', $m[0][4]) or !preg_match_all('|РУПС|i', $m[0][5]) or !preg_match_all('|ОПП|i', $m[0][5]) or !preg_match_all('|УООП|i', $m[0][5]) or !preg_match_all('|ЦОПП|i', $m[0][5]) or !preg_match_all('|Центр|i', $m[0][5]) or !preg_match_all('|УПС|i', $m[0][5]))){
echo "Не поступил<br><br>";
} else {
echo "Поступил<br><br>";
}
Вот так тоже ничего не вышло естественно
if ((strpos($m[0][5], 'Поступило в участок обработки почты') !== false && strpos($m[0][5], 'РУПС') === false) or (strpos($m[0][5], 'Поступило в участок обработки почты') !== false && strpos($m[0][5], 'ОПП') === false) or (strpos($m[0][5], 'Поступило в участок обработки почты') !== false && strpos($m[0][5], 'УООП') === false) or (strpos($m[0][5], 'Поступило в участок обработки почты') !== false && strpos($m[0][5], 'ЦОПП') === false) or (strpos($m[0][5], 'Поступило в участок обработки почты') !== false && strpos($m[0][5], 'Центр') === false) or (strpos($m[0][5], 'Поступило в участок обработки почты') !== false && strpos($m[0][5], 'УПС') === false) or (strpos($m[0][4], 'Поступило в участок обработки почты') !== false && strpos($m[0][4], 'РУПС') === false) or (strpos($m[0][4], 'Поступило в участок обработки почты') !== false && strpos($m[0][4], 'ОПП') === false) or (strpos($m[0][4], 'Поступило в участок обработки почты') !== false && strpos($m[0][4], 'УООП') === false) or (strpos($m[0][4], 'Поступило в участок обработки почты') !== false && strpos($m[0][4], 'ЦОПП') === false) or (strpos($m[0][4], 'Поступило в участок обработки почты') !== false && strpos($m[0][4], 'Центр') === false) or (strpos($m[0][4], 'Поступило в участок обработки почты') !== false && strpos($m[0][5], 'УПС') === false)){
Как только не пробовал составлять, ничего не выходит, не хватает знаний видимо
Нужно сделать проверку в массиве $m[0][4] и $m[0][5] на отсутствие в них "РУПС", "ОПП", "УООП", "ЦОПП", "Центр", "УПС" и присутствие "Поступило в участок обработки почты"
Что бы выполнялось
Array ( [0] => 01. Принято почтовое отправление в (220307) [1] => 07. Принято в (200400) из (220307) [2] => 08. Передано из (200400) в (212000) Могилев ОПП [3] => 06. Поступило в участок обработки почты (212000) Могилев ОПП [4] => 06. Поступило в участок обработки почты (213530) Чериков РУПС [5] => 06. Поступило в участок обработки почты (213533) Чериков - 2)
И при таком раскладе - не выполнялось
Array ( [0] => 01. Принято почтовое отправление в (220307) [1] => 07. Принято в (200400) из (220307) [2] => 08. Передано из (200400) в (212000) Могилев ОПП [3] => 06. Поступило в участок обработки почты (212000) Могилев ОПП [4] => 06. Поступило в участок обработки почты (213530) Чериков РУПС [5] => 06. Поступило в участок обработки почты (2135305) ОПП)
Не могу даже понять, как лучше искать, при помощи preg_match_all или используя strpos.
Буду благодарен за любой совет.
Спасибо.