我遇到一个问题,我正在foreach循环中显示数据库中的一些帖子。
帖子标题的长度会影响设计。例如,如果一篇文章的标题旁边有一个长标题,而一个简短标题旁边,则会将我下面的链接向下推。这使它看起来不均匀。
因此,我正在尝试编写一个函数来检查长度是否太短,应该插入换行符。
这是我到目前为止所拥有的。
function insert_line_break($text){
if (strlen($text) < 10 ) {
echo "<br>";
}
}
<?= insert_line_break($entry["title"]) ?>
但是,似乎用换行符代替了标题。
我想念什么?
答案 0 :(得分:2)
您已经错过了回显文本本身的机会。
function insert_line_break($text){
if (strlen($text) < 10 ) {
return "<br>";
}
}
<?php echo $entry["title"] . insert_line_break($entry["title"]); ?>
注意:
我将函数更改为return
的值,而不是将其回显到输出,因此将来它将更可重用。
然后我将短标签<?
扩展为<?php
,并使=
变得冗长echo
,这是更清晰易读的编码方式。
我当然应该用分号;
结束这一行。
编辑:
<?php echo $entry["title"] . insert_line_break($entry["title"]); ?>
echo
打印$entry["title"]
的内容,然后要求函数insert_line_break($entry["title"])
决定它是否包含短于10个字符的字符串,如果是,则返回回显的<br>
。就是这样。