PHP减少代码字符数

时间:2018-01-17 14:04:11

标签: php html if-statement foreach rss

我有一段代码,可以读取RSS提要并显示前5个结果。

这一切都按预期工作,但为了满足我的需要,字符总数需要不超过 350.目前它在370。

有没有办法缩小"此代码使功能保持不变,但不超过350个字符。

代码

<?php
$r = simplexml_load_file("https://example.com/feed");
if(!empty($r)) {
    $i=0;
    foreach ($r->channel->item as $f) {
        if($i>=5) break;
        ?>
        <p><a href="<?= $f->link; ?>"><?= $f->title; ?></a></p>
        <p><?= implode(' ', array_slice(explode(' ', $f->description), 0, 14)) . "..."; ?></p>
        <?php       
        $i++;   
    }
}
?>

备注

  • 我需要将标题作为html链接回显
  • 我需要标题和描述为个别段落
  • 我需要截断描述

感谢任何建议。

1 个答案:

答案 0 :(得分:1)

这是我减少到251-255个字符(删除换行符以减少更多):

OSStatus error = VTCompressionSessionEncodeFrame(
    session, img_buffer, timestamp, kCMTimeInvalid, NULL /* frame_properties */, NULL /* frame_refcon */, &flags);

做“假”&#39;在分配时在if块中进行比较,你可以剃掉更多的东西。这应该有效,就像simplexml_load_file返回一些内容一样,它应该是xml,如果失败则为false,这将使它不会阻塞。

对于那个奇怪的implode / array_slice / explode可能有一些简化,但我在初始测试中找不到。

我会改为<?php if($r = simplexml_load_file("https://example.com/feed")){ $i=0;foreach($r->channel->item as $f){if($i>=5){break;}$i++; echo "<p><a href='{$f->link}'>{$f->title}</a></p><p>".implode(' ',array_slice(explode(' ',$f->description),0,14))."...</p>"; }} ?> ,但我不确定你的xml返回是否是纯索引数组。