public function check($orderId)
{
$url = $this->url.'load_adv_adv.php';
$pageid = 0;
$found = false;
while (!$found)
{
$result = $this->http($url, array('page' => $pageid), true);
preg_match('/({[^{}]*?'.$orderId.'.+?})/', $result, $matches);
if (isset($matches[1]))
{
$found = true;
$order = $matches[1];
}
else
{
$pageid++;
}
}
return $order;
}
$pageid лучше, конечно, чем-то ограничить сверху, а то можно долго ждать, если несуществующий заказ скормить.
Кому-то такой вариант больше по душе (хотя, лично мне он не нравится):
public function check($orderId)
{
$url = $this->url.'load_adv_adv.php';
$pageid = 0;
while (true)
{
$result = $this->http($url, array('page' => $pageid), true);
preg_match('/({[^{}]*?'.$orderId.'.+?})/', $result, $matches);
if (isset($matches[1]))
{
return $matches[1];
}
$pageid++;
}
}