Редактирование URL-адреса, полученного из RSS-канала - PullRequest
0 голосов
/ 24 октября 2019

Я создаю конечную точку WordPress REST с register_rest_route и использую RSS-канал с другого веб-сайта в качестве данных для API REST.

Я использую WordPress 'fetch_feed для полученияRSS-канал (который возвращает SimplePie и возвращает его обратно как объект JSON, используя следующий код:

plugin-file.php

dd_action('rest_api_init', function() {
  register_rest_route('wp/v2', '/blog/', array(
    'methods' => 'GET',
    'callback' => 'ts_get_blog_feed'
  ) );
});

function ts_get_blog_feed() {

  $pie = array_map(function ($item) {
    return [
      'id' => $item->get_id(),
      'date' => $item->get_date(),
      'content' => $item->get_content(),
      'title' => $item->get_title(),
      'link' => $item->get_permalink(),
      'media' => $item->get_enclosure()->get_link(0)
    ];  
  }, fetch_feed('https://feed.com/feed.rss')->get_items(0, 150));


  return $pie;
}

Объект JSONвсе в порядке, и я могу использовать его как обычно.

Однако URL-адрес мультимедиа (который должен быть ссылкой на изображение для сообщения блога) осуществляется через прокси-сервер мультимедиа. URL-адрес похож на приведенный ниже URL-адрес:

https://content.contentnetwork.com/mediaproxy?url=https://contentnetwork.com/files/aHViPTgwNTc2JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzVkNWM1NTc5ZDIxODUuanBnJnZlcnNpb249MDAwMCZzaWc9MDk5Y2MwNzJmYjky3GM1YzQxNDA3MmI1ZmEwM2E4Yjc%253D&size=3&version=1571255955&sig=9828497b3a2d7fe01f2d3e06e22d3a6f&default=hubs/tilebg-blogs.jpg

Если я использую только строку от url = до первого &amp, и я удаляю ее, тогда я могу получить доступ к изображению (см. URL ниже длядоступный URL), но это мне не очень помогает, потому что мне нужно напрямую извлечь этот URL из фида JSON и назначить его в качестве избранного изображения.

Рабочий URL

https://contentnetwork.com/files/aHViPTgwNTc2JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzVkNWM1NTc5ZDIxODUuanBnJnZlcnNpb249MDAwMCZzaWc9MDk5Y2MwNzJmYjky3GM1YzQxNDA3MmI1ZmEwM2E4Yjc%253D

Как мне отредактировать строку с помощью php, чтобы получить точный URL-адрес, который мне нужен? здесь опция с fetch_feed для возврата данных так, как мне нужно?

Цель состоит в том, чтобы получить URL-адрес изображения, чтобы он мог отображаться в теге <img src="" /> - простона случай, если мне неясно.

...