RSS提要和图像大小

时间:2014-07-21 14:07:18

标签: php 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 个答案:

答案 0 :(得分:2)

如果您想自己更改图像文件,可以使用任意数量的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来自行调整图像大小,然后再在页面上使用它们。