PHP Dizisi Nasıl Değiştirilir?

Şu anda bu koda sahibim.

<?php
$username = 'EMAIL ADDRESS';
$password = 'EMAIL ADDRESS';
$opts = array(
  'http' => array(
      'method'  => 'GET',
      'header'  => sprintf("Authorization: Basic %s\r\nUser-Agent: Foobar!", base64_encode($username.':'.$password))
  )
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);
$xml =  new SimpleXMLElement(
    "https://mail.google.com/mail/feed/atom",
    null,
    true);
print_r($xml);
?>

PHP kodunu çalıştırdığımda aşağıdaki sonuçları elde ederim

SimpleXMLElement Object ( [@attributes] => Array ( [version] => 0.3 ) [title] => Gmail - Inbox for EMAIL ADDRESS [tagline] => New messages in your Gmail Inbox [fullcount] => 1 [link] => SimpleXMLElement Object ( [@attributes] => Array ( [rel] => alternate [href] => http://mail.google.com/mail [type] => text/html ) ) [modified] => 2011-10-27T20:12:38Z [entry] => SimpleXMLElement Object ( [title] => SUBJECT [link] => SimpleXMLElement Object ( [@attributes] => Array ( [rel] => alternate [href] => LINK [type] => text/html ) ) [modified] => 2011-10-26T15:45:11Z [issued] => 2011-10-26T15:45:11Z [id] => tag:gmail.google.com,2004:1383746934228011210 [author] => SimpleXMLElement Object ( [name] => Webs [email] => EMAIL ) ) )

Sonuç olarak, sonuçların "SimpleXMLElement Object", vb. Görüntülenmemesini ve sadece gerçek yararlı bilgileri (konu, e-posta içeriği, tarih vb.) Göstermesini istiyorum.

Str_replace kullanmayı denedim, ama işe yaramıyor.

4
Vanilya icecream'inizin (print_r output) biftek gibi bir şeyden zevk almadığını (XML nesnesinin), sadece Evrenler de dahil olmak üzere evrendeki her restorandan güldüğünüzü kabul ediyorum.
katma yazar Marc B, kaynak
Bu soru için -1. Soru herhangi bir araştırma çabası göstermiyor. @ 01jayss - print_r, belgelerin tam olarak olması gerektiği gibi davranıyor . İstediğinizi yapmıyorsa, belki de farklı bir işleve ihtiyacınız vardır.
katma yazar Farray, kaynak

2 cevap

Şunun gibi bir şey deneyin:

echo "Title: ".$xml->title.", tagline: ".$xml->tagline;

XML'in formatına bağlı olarak yukarıdakilere fazladan yollar eklemeniz gerekebilir.

Sen de deneyebilirsin

print_r((array)$xml);

de olduğu gibi:

<?php
$xml = "<title>Blah</title>bob";
$s =  simplexml_load_string($xml);
print_r((array)$s);

hangi çıktılar:

Array
(
    [title] => Blah
    [fred] => bob
)
1
katma

Print_r() öğesini kullanmanız sadece size okunabilir bir çıktı verecektir. İstediğinize daha uygun olması için xml veya JSON'a dönüştürebilirsiniz.

Json dönüştürmek için deneyin.

$json = json_encode($xml);
echo $json;
0
katma