Как заменить в массиве PHP?

У меня есть этот код.

<?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-кода

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 ) ) )

Я хочу, чтобы результаты не отображали «SimpleXMLElement Object» и т. Д., И отображали только фактическую полезную информацию (тему, содержимое электронной почты, дату и т. Д.),

Я попытался использовать str_replace, но он не работает.

4
Жалуясь на то, что ваш ванильный мороженое (выход print_r) не похож на стейк (ваш объект XML), просто заставит вас рассмеяться из каждого ресторана во вселенной, включая Milliways.
добавлено автор Marc B, источник
-1 для этого вопроса. Вопрос не показывает никаких исследований. @ 01jayss - print_r ведет себя точно так же, как в документации говорится, что он должен . Если он не делает то, что вы хотите, возможно, вам нужна другая функция.
добавлено автор Farray, источник

2 ответы

Попробуйте что-нибудь вроде:

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

Возможно, вам придется добавить дополнительные пути к указанному выше в зависимости от формата XML.

Вы также можете попробовать

print_r((array)$xml);

как в:

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

который выводит:

Array
(
    [title] => Blah
    [fred] => bob
)
1
добавлено

Использование print_r() даст вам только доступный для пользователя вывод. Вы можете преобразовать его в xml или JSON, чтобы быть более в соответствии с тем, что вы хотите.

Попробуйте конвертировать в json.

$json = json_encode($xml);
echo $json;
0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp