我有一段代码,可以读取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++;
}
}
?>
备注
感谢任何建议。
答案 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返回是否是纯索引数组。