Merhaba arkadaşlar. Bu aralar bot yapma işine merak saldım. İlk defa bir döviz botu yapmaya bu kadar yakınım. Fakat beni zorlayan bir yer var, sizlere danışmak istedim.
$veri = file_get_contents("http://xml.altinkaynak.com/doviz.xml");
// preg_match_all("@\s+(.*?)\s+(.*?)\s+\s+@si",$veri,$adi_al_sat);
preg_match_all("@\s+(.*?)\s+(.*?)\s+(.*?)\s+@si",$veri,$adi_al_sat);
$sayi = 0;
while ($sayi < count($adi_al_sat[0])) {
echo $adi_al_sat[1][$sayi]." ALIŞ: ".$adi_al_sat[2][$sayi].", SATIŞ: ".$adi_al_sat[3][$sayi]."
";
$sayi++;
} ?>

// ile başladığım satır sadece ilk değeri gösteriyor. Diğeri ise tüm dövizleri gösteriyor. Buraya kadar normal gibi. Ama ilk içindeki değeri işi bozuyor. Ve o değerden 2. değere kadar ne varsa tek değişkene atıyor. Yani çıktıyı bozmuş oluyor. Dediğim gibi, ilk // ile başlayanı kullanınca ilk değerleri, diğerini aldığımda ise tüm değerleri atıyor.
İkinciyi kullandığımda çıktı şu:
Tarih ALIŞ: 24.12.2013 16:34:52 USD 2.0760, SATIŞ: 2.0890
EUR ALIŞ: 2.8370, SATIŞ: 2.8550
CHF ALIŞ: 2.3060, SATIŞ: 2.3320
GBP ALIŞ: 3.3860, SATIŞ: 3.4370
DKK ALIŞ: 0.3785, SATIŞ: 0.3827
SEK ALIŞ: 0.3137, SATIŞ: 0.3171
NOK ALIŞ: 0.3347, SATIŞ: 0.3384
JPY ALIŞ: 0.0198, SATIŞ: 0.0201
SAR ALIŞ: 0.5490, SATIŞ: 0.5591
AUD ALIŞ: 1.8430, SATIŞ: 1.8690
CAD ALIŞ: 1.9464, SATIŞ: 1.9740

Gördüğünüz gibi o değişkeni yüzünden ilk satırla 2. satır birleşiyor. Benim yapmak istediğim sadece düzgün bir biçimde PARA BİRİMİ, ALIŞ: ***, SATIŞ: *** şeklinde değerleri yazdırmak. Şimdiden teşekkürler. :)