Функция MAKE_CLICKABLE() в WordPress: особеннос��и и использование

Функция MAKE_CLICKABLE() в WordPress

Функция make_clickable() в WordPress позволяет преобразовать обычные текстовые ссылки (URI) в кликабельные HTML-ссылки. Она автоматически заменяет URL-адреса, адреса электронной почты и другие ссылки на активные гиперссылки. Эта возможность полезна для улучшения пользовательского опыта и интеграции ссылок в контент.

Основная информация

  • Версия WordPress: 0.71 и выше
  • Время выполнения:
    • 1 раз — 0.000662 сек (медленно)
    • 50000 раз — 6.64 сек (быстро)
  • PHP версия: 7.1.11
  • Место в файлах: wp-includes/formatting.php
  • Возвращаемое значение: строка — контент с преобразованными URI.

Как использовать

Для того чтобы использовать функцию, нужно вызвать make_clickable() с текстом в качестве аргумента.

Синтаксис

make_clickable( $text );
  • $text (строка) — Контент, в котором будут преобразованы URIs.

Примеры использования

Пример 1: Преобразование ссылки в текст

Пусть у нас есть текст с URL, который мы хотим сделать кликабельным:

Результат:
Некоторый текст http://example.com/page-108 и другой текст.

Пример 2: Открытие ссылок в новой вкладке

Чтобы сделать все URL-адреса в контенте кликабельными с атрибутом target="_blank" (что позволяет открывать ссылки в новой вкладке), используйте функцию links_add_target(). Сначала преобразуем текст с помощью make_clickable(), а затем добавим целевой атрибут:

Результат:
Некоторый текст http://example.com/page-108 и другой текст.

Как работает функция make_clickable

Функция проходит несколько этапов, чтобы преобразовать текст:

  1. Разделение текста: Используется регулярное выражение для разделения текста на части, игнорируя HTML-теги.
  2. Обработка вложенных тегов: Функция следит за уровнями вложения кода, чтобы не обрабатывать ссылки внутри определенных тегов (например, <code> или <pre>).
  3. Поиск и замена ссылок:
    • Функция ищет URL-адреса с помощью регулярных выражений и заменяет их на кликабельные ссылки.
    • Обрабатываются также ссылки без протокола (например, www).
    • Извлекаются адреса электронной почты и добавляются как ссылки.

Пример кода функции

Вот упрощенная версия кода функции:

function make_clickable( $text ) {
$r = '';
$textarr = preg_split( '/(<[^<>]+>)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // Разделение на части.
foreach ( $textarr as $piece ) {
// Пропускаем обработку вложенных тегов.
if ( empty($piece) || '<' === $piece[0] ) {
$r .= $piece;
continue;
}

    // Определение и замена URL-ссылок на кликабельные.
    $url_pattern = '#b(http|https|ftp://[^s()<>]+(?:([wd]+)|([^[:punct:]s()<>]+)))#';
    $piece = preg_replace($url_pattern, '$0', $piece);

    $r .= $piece;
}

return $r;

}

Заключение

Функция make_clickable() в WordPress — это полезный инструмент для автоматизации процесса создания кликабельных ссылок в текстовом контенте. Она улучшает пользовательский опыт, позволяя читателям быстро переходить по ссылкам и получать доступ к необходимой информации.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *