2014-07-21 70 views
0

我有這個RSS訂閱源在我的網站上工作,但圖片太大了。有什麼辦法可以讓它們變小嗎?圖像附帶說明元素。RSS訂閱源和圖片大小

<?php 
    $rss = new DOMDocument(); 
    $rss->load('http://www.keilir.net/is/feed/'); 
    $feed = array(); 
    foreach ($rss->getElementsByTagName('item') as $node) { 
    $item = array (
     'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 
     'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue, 
     'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 
     'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, 
     ); 
    array_push($feed, $item); 
    } 
$limit = 2; 
for($x=0;$x<$limit;$x++) { 
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']); 
    $link = $feed[$x]['link']; 
    $description = $feed[$x]['desc']; 
    $date = date('l F d, Y', strtotime($feed[$x]['date'])); 
    echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />'; 
    echo '<small><em>Posted on '.$date.'</em></small></p>'; 
    echo '<p>'.$description.'</p>'; 
    } 
?> 

回答

1

如果你想改變圖像文件本身,您可以使用任意數量的PHP圖像庫,這最終往往依靠iMagick或GD PHP功能。要了解更多關於這一點,你可以從這裏開始:

http://php.net/manual/en/class.imagick.php

http://php.net/manual/en/imagick.examples-1.php

或者嘗試搜索PHP圖像庫。如果您想而不是簡單地喜歡在瀏覽器中使用現有的圖像文件,但使它們在不同的大小,你可以簡單地指定高度,並使用HTML屬性(或CSS)寬度的限制:

<img src="/path/to/image" height="200" width="200" /> 

<img src="/path/to/image" style="height: 200px; width: 200px;" /> 

有各種警告這種方法,即你會要求用戶下載比他們看到的更大的圖像,這意味着頁面加載速度比它需要的慢。此外,如果您手動設置圖像的高度/寬度,則需要注意保持圖像的高寬比,否則在渲染時會看到拉伸或偏斜。

我強烈建議您在服務器端使用PHP調整圖像本身的大小,然後再在頁面上使用它們。