Вставить разрыв строки в функцию php

У меня проблема, когда я показываю поля некоторых сообщений из моей базы данных в цикле foreach.

Длина заголовка поста влияет на дизайн. Например, если у одного поста длинный заголовок рядом с постом с коротким заголовком, он будет нажимать ссылку, которая у меня внизу. Это делает его неровным.

Поэтому я пытаюсь написать функцию, которая проверяет, не слишком ли короткая длина, она должна вставлять разрыв строки.

Это то, что у меня есть до сих пор.

function insert_line_break($text){
    if (strlen($text) < 10 ) {
        echo "<br>";
    }
} 

<?= insert_line_break($entry["title"]) ?> 

Однако это, похоже, заменяет заголовок переносом строки.

Что мне не хватает?

Вместо этого используйте CSS для стилизации. :-)

Qirel 01.12.2018 11:51

Код, который вы опубликовали, ни разу не повторяет текст, поэтому ...

M. Eriksson 01.12.2018 11:51

Вы можете использовать "\ n" вместо "<br />"

Valerian Pereira 01.12.2018 12:06

@piedude, вы нашли подходящее решение в любом из этих # ответов? Если нет, расскажите подробнее. В противном случае сделайте и примите решение, которое лучше всего для вас, чтобы закрыть вопрос - см. Что мне делать, если кто-то ответит на мой вопрос?

ino 04.12.2018 15:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
4
37
1

Ответы 1

Вы пропустили эхо самого текста.

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>, который отображается эхом. И это все.

Я пробовал это, но не смог заставить его работать. Почему вы используете заголовок дважды?

piedude 01.12.2018 12:04

Другие вопросы по теме