У меня проблема, когда я показываю поля некоторых сообщений из моей базы данных в цикле foreach.
Длина заголовка поста влияет на дизайн. Например, если у одного поста длинный заголовок рядом с постом с коротким заголовком, он будет нажимать ссылку, которая у меня внизу. Это делает его неровным.
Поэтому я пытаюсь написать функцию, которая проверяет, не слишком ли короткая длина, она должна вставлять разрыв строки.
Это то, что у меня есть до сих пор.
function insert_line_break($text){
if (strlen($text) < 10 ) {
echo "<br>";
}
}
<?= insert_line_break($entry["title"]) ?>
Однако это, похоже, заменяет заголовок переносом строки.
Что мне не хватает?
Код, который вы опубликовали, ни разу не повторяет текст, поэтому ...
Вы можете использовать "\ n" вместо "<br />"
@piedude, вы нашли подходящее решение в любом из этих # ответов? Если нет, расскажите подробнее. В противном случае сделайте и примите решение, которое лучше всего для вас, чтобы закрыть вопрос - см. Что мне делать, если кто-то ответит на мой вопрос?






Вы пропустили эхо самого текста.
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>, который отображается эхом. И это все.
Я пробовал это, но не смог заставить его работать. Почему вы используете заголовок дважды?
Вместо этого используйте CSS для стилизации. :-)