Удаление изображений из описания RSS-канала при перетягивании канала на другой сайт - PullRequest
0 голосов
/ 26 марта 2019

Я почти полностью самостоятельно пытаюсь решить эту проблему, почти ничего не знаю о PHP и остро нуждаюсь в помощи. Редизайн новостного сайта Wordpress включает изображения, включенные в тег описания канала, у нас уже был настроен способ извлечения этих изображений, так что теперь канал на других сайтах выглядит двойным. Я хочу отключить растягиваемое изображение в теге описания, и мне сложно понять, как этого добиться.

Я пробовал несколько вещей, таких как strip_tag, тасование кода / HTML и т. Д., Но я подозреваю, что большая часть моей проблемы заключается в том, что я не знаю, где и как их реализовать.

if ($rss = simplexml_load_file($feed)){  // (replace relative path with variable: $rssPath ).

$count = 0;
foreach($rss->channel->item as $item){
    if ($count < $items) {
         /*Set variables from RSS*/
          $title = $item->title;
          $desc = $item->description;
          $content = htmlspecialchars_decode($item->children('content', true)->encoded);
          preg_match('/(<img[^>]+>)/i', $content, 
$content_image);
//if(strstr($content, 'img')){
//            $content_trunc = 
substr($content,0,strpos($content,'</p>', 550)) . "...";
//}
//else {
//$content_trunc = substr($content,0,strpos($content,'</p>', 400)) . 
"...";
//}           
         $content_image = str_replace('class="', 
'class="media-object ', $content_image);
          $link = $item->link;  
          $pubdate = $item->pubDate; 
          $pubMonth = substr($pubdate, 8, 3);            
          $pubDay = substr($pubdate, 5, 2);

             /*Display items*/ 
            $output= "<div class='row'>\n<div class='col-md-3'>";                                   

            $output = $output . 
                "           <a href='". $link ."'>" 
                 . $content_image[0]  . 
                "               </div>
                <div class='col-md-9'><span class='news-headline' style='vertical-align:top;'>" . $title . "</span>
                            </a>" . "\n                          
                       <p class='news-blurb'>" . $desc . "</p>
                       </div>\n</div>\n <hr />";                    


            echo $output;
            $count++;             
    }
}

Это описание тега, вкратце:

<description><![CDATA[<img width="150" height="150" src="http://placehold.it/150.150" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" />news article description here [...]]]></description>

Пожалуйста, помогите! Это язык, который я хочу изучать, но я еще далек от этого. Все, что я знаю, это то, что мне нужно отфильтровать содержимое из $ desc. но я не знаю как.

1 Ответ

0 голосов
/ 26 марта 2019

Попробуйте preg_replace("/<img[^>]+\>/i", "", $desc); после $desc = $item->description; строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...