2014-07-21 61 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调整图像本身的大小,然后再在页面上使用它们。