Ben bir sona erdiğinde algılamaya çalışırken, http başlıklarını döndürülen CURL bir dizi her satırı döngü yaşıyorum ve sonraki başlar. Ben bir http başlık boş bir satır ile sona olduğunu biliyorum, ama ne karakter php bu satır sonu temsil etmek için kullanılır? I \n
ile denedim ama çalışmak için görünmüyor. Ben kesinlikle yanlış bir şey yapıyor olabilir.
Ne karakter bir başlık sonlandırmak için kullanılan satır sonu temsil etmek için kullanılır?
İşte benim mevcut kod:
$redirect = '';
$regs = '';
foreach ($curl_response as $line)
{
if ($line != "\n")
{ # line is not a linebreak, so we're still processing a header block
if (preg_match("(HTTP/[0-9]\.[0-9] [0-9]{3} .*)",$line))
{ # line is the status code
# highlight the outputted line
$output .= "<b style='background: yellow;'>$line</b>";
}
elseif (preg_match("/^Location: (.*)$/m",$line,$regs))
{ # the line is a location header, so grab the location being redirected to
# highlight the outputted line
$output .= "<b style='background: purple; color: white;'>$line</b>";
$redirect = $regs[1];
}
else
{ # some other header, record to output
$output .= $line;
}
}
else
{ # we've reached a line break, so we're getting to a new block of redirects
$output .= "\nreached line break\n";
if ($redirect != '')
{ # if we recorded a redirect above, append it to output
$output .= "\n\nRedirecting to $redirect\n\n";
$redirect = '';
}
}
}
echo $output;
Solved - \r
Ben eşleşen edilmiş ne olduğunu çıkıyor. Çok garip. Bu site başına değiştiriyorsa, ya da curl ayarlanmış bir şey değil emin eğer. Şimdiye kadar onun \r
tüm sitelerde denedim.
Edit 2: Doh. Ben hatları bir diziye başlığını almak için, ben \n
Kes patladı çünkü düşünüyorum. Yani belki de herhangi bir \r\n
şimdi sadece \r
...
$c = explode("\n",$content);