Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if(isset($_GET['feedUrl'])) {
- $feedUrl = $_GET['feedUrl'];
- } else {
- die('No feed url provided (feedUrl parameter)');
- }
- if(isset($_GET['feedFilterKeywords'])) {
- $feedFilterKeywords = $_GET['feedFilterKeywords'];
- } else {
- die('No feed filter keywords provided (feedFilterKeywords parameter separated by | character)');
- }
- $feedFilterKeywords = array_map('trim', explode('|', $feedFilterKeywords));
- $originalFeed = simplexml_load_file($feedUrl);
- $parsedFeedItems = $originalFeed->xpath('/rss/channel/item');
- foreach ($parsedFeedItems as $index => $item) {
- foreach ($feedFilterKeywords as $filterKeyword) {
- if (strpos(strtolower($item->title), strtolower($filterKeyword)) !== false) {
- unset($parsedFeedItems[$index]);
- break;
- }
- }
- }
- $xmlParsedFeedItems = '';
- foreach($parsedFeedItems as $feedItem) {
- $xmlParsedFeedItems .= $feedItem->asXML();
- }
- $originalFeedWithoutItems = preg_replace('/<item>(.*)<\/item>/s', '', $originalFeed->asXML());
- $parsedFeedXML = str_replace('</channel>', $xmlParsedFeedItems . '</channel>', $originalFeedWithoutItems);
- header("Content-type: text/xml");
- die($parsedFeedXML);
Advertisement
Add Comment
Please, Sign In to add comment