Функция cot_build_url в Cotonti

Функция cot_build_url предназначена для того, чтобы создать ссылку (HTML-элемент) на заданный URL. Она также ограничивает длину URL (если это необходимо) и гарантирует, что URL будет валидным, добавляя схему (например, http:// или https://), если это не сделано.

/**
 * Returns link for URL
 *
 * @param string $text URL
 * @param int $maxlen Max. allowed length
 * @return string
 */
function cot_build_url($text, $maxlen=64)
{
    global $sys;
    if (!empty($text))
    {
        if (mb_strpos($text, $sys['scheme'] . '://') !== 0)
        {
            $text = $sys['scheme'] . '://' . $text;
        }
        $text = htmlspecialchars($text);
        $text = cot_rc_link($text, cot_cutstring($text, $maxlen));
    }
    return $text;
}

 


Разбор функции cot_build_url

Параметры функции:
$text — строка, представляющая URL. Это обязательный параметр, который передается в функцию.
$maxlen — максимальная допустимая длина строки URL. Если URL длиннее этого значения, то он будет обрезан. Значение по умолчанию — 64 символа.
Логика работы функции:
Проверка схемы URL:

Функция проверяет, начинается ли URL с заданной схемы (http:// или https://), используя $sys['scheme']. Если схема не указана, то она добавляется к URL.
Проверка происходит через функцию mb_strpos, которая ищет схему в начале строки.
Экранирование символов:

URL затем обрабатывается через htmlspecialchars, чтобы избежать проблем с безопасностью, например, с внедрением HTML-кода.
Создание ссылки:

Функция использует cot_rc_link, которая генерирует HTML-ссылку.
Для текста ссылки используется обрезанный вариант самого URL через функцию cot_cutstring. Это полезно, чтобы не отображать слишком длинный URL в интерфейсе. Если длина URL превышает $maxlen символов, то она будет обрезана.
Возврат результата:

Функция возвращает готовую ссылку.

Пример использования в контексте фреймворка Cotonti:

'POST_URL' => cot_build_url($post['url']),


Здесь:

$post['url'] — это URL поста, который будет передан в функцию.

Если URL не начинается с http:// или https://, то функция добавит нужную схему.

После этого функция создаст ссылку на этот URL, ограничив длину строки до 64 символов (по умолчанию).

Пример 1: Если URL www.example.com передается в функцию, она преобразует его в http://www.example.com, а потом создаст HTML-ссылку, например:

<a href="http://www.example.com">www.example.com</a>


Пример 2: Если URL длинный, например, http://www.example.com/some/long/path/to/resource, то функция обрежет его до http://www.example.com/some/long/path/to....

Пример возвращаемого значения:

Если входной URL: "www.example.com"

Результат работы функции:

<a href="http://www.example.com">www.example.com</a>

Если входной URL:
 

"www.example.com/this/is/a/really/long/path/that/exceeds/64/characters"


Результат работы функции:

<a href="http://www.example.com/this/is/a/really/long/path/that/exceeds/64/characters">http://www.example.com/this/is/a/really/long/path/that/exceeds/64...</a>

Применение в реальных сценариях:

Эта функция полезна, когда необходимо вывести URL в виде кликабельной ссылки с гарантией того, что он будет безопасным и не слишком длинным для интерфейса.

Она может быть использована для генерации ссылок на внешние сайты в постах, профилях пользователей или в любом другом месте, где нужно корректно отобразить URL с ограничением длины.

2 минут чтения Administrator

Комментарии (0)

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Автор контента

Administrator

Оффлайн

Administrator

Последняя авторизация: 05.07.2026 18:32

  • Страница размещена: 22.01.2025 00:48
  • Последнее обновление: 22.01.2025 00:48