SimplePie RSS Parsing — вынимать слова случайным образом из get_title?

В настоящее время я использую SimplePie для разбора новостных лент RSS. Я успешно объединяю каналы с помощью массива, однако мне нужно вернуть случайные слова из заголовка, а не только весь заголовок. Можно ли это сделать в PHP вообще? Я играл с explode(); Однако не повезло.

Нужно ли вводить какой-то Javascript после анализа данных? Я знаю, что это немного расплывчато, я просто пытаюсь понять, что возможно (я открыт для использования альтернативы SimplePie, это то, что я использовал до сих пор).

Вот мой код прямо сейчас, который просто возвращает заголовки в целом:

<?php
//link simplepie
require_once ('simplepie/autoloader.php');

//new simplepie class
$feed = new SimplePie();

$feed->enable_cache(true);

$feed->set_cache_duration(60);

//set up feeds
$feed->set_feed_url(array('http://mf.feeds.reuters.com/reuters/UKTopNews' , 'http://www.theguardian.com/world/rss'
));

//run simplepie
$feed->init();

//handle content type
$feed->handle_content_type();

?>

<!DOCTYPE html>
<head>

<title>News</title>

<link rel="stylesheet" type="text/css" href='style.css'>

</head>

<body>

<div class = "headlines">

<?php foreach ($feed->get_items(0, 10) as $item): ?>

<?php $item->get_title(); ?>

<h4><?php echo $item->get_title(); ?></h4>

<?php endforeach; ?>

</div>

</body>

</html>

Спасибо!

1

Решение

Мне нужно сделать, это вернуть отдельные слова в произвольном порядке из названия

Надеюсь, я правильно понял ваш вопрос: «верните случайное слово из заголовка», верно?
Ваша проблема не связана с SimplePie. Всякий раз, когда у вас возникает проблема, старайтесь свести ее к минимуму: здесь проблема только в том, как работать со строками.

Для вашего варианта использования:

$title = $item->get_title();
echo array_rand(array_flip(explode(' ', $title)), 1);

Автономный пример:

$string = 'This is an example headline and it contains a lot of words.';
echo array_rand(array_flip(explode(' ', $string)), 1);

Как это работает:

Сначала строка заголовка взорвана на пробел.
Вы получаете массив обратно. Это ключ => значение, где значение — это слово из строки.
Теперь мы переворачиваем значения и ключи — чтобы получить значения в качестве ключей, а затем случайным образом выбираем 1 элемент с помощью array_rand ().

Это может потребовать дополнительной настройки, чтобы обрезать запятые и полные остановки и заставить их работать со специальными символами. Но это должно помочь вам начать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]