这就是我所拥有的:
<?php
echo "<ul class='frony-feat-img'>";
while ($row = $readresult->fetch() ) { ?>
<?php
printf ('<li class="blog-post">
<h3><a href="/%1$s/%2$s">%3$s</a></h3>
<img src="/media/%5$s" width="" height="" alt="" />
%4$s
<a class="read-post" href="/%1$s/%2$s">Read More</a>
</li>',
$blog_url,
$row['identifier'],
$row['title'],
$row['short_content'],
$row['featured_image']
);
}
echo "</ul>";
?>
我想将$ row [&#39; short_content&#39;]的长度修剪为某个字符串长度,并在最后添加[...]。如果不从数组中取回返回的值,我该怎么做?
如果我的问题有意义,请告诉我!?感谢。
答案 0 :(得分:2)
将$row['title']
替换为:
strlen($row['title']) > 10 ? substr($row['title'], 0, 10) . '[...]' : $row['title'];
注意:某些字符串长度当然是10。
示例:
$row['title'] = 'abcdef';
echo strlen($row['title']) > 10 ? substr($row['title'], 0, 10) . '[...]' : $row['title'];
echo '<br/>';
$row['title'] = 'abcdefghijkl';
echo strlen($row['title']) > 10 ? substr($row['title'], 0, 10) . '[...]' : $row['title'];
返回:
abcdef
abcdefghij[...]
注意:
您应该创建一个帮助程序来执行此操作,例如:
function truncate($string, $length) {
return strlen($string) > $length ? substr($string, 0, $length) . '[...]' : $string;
}
然后以这种方式使用它:
(...)
$blog_url,
truncate($row['identifier'], 10),
truncate($row['title'], 10),
truncate($row['short_content'], 10),
truncate($row['featured_image'], 10),
);