get_url_in_content()WP 3.6.0

Извлекает и возвращает первый URL, найденный в переданной строке.

Функция сканирует переданный текст на наличие ссылок: ищет URL в атрибуте href HTML-тега <a>.

Ищет только первую ссылку. Если в тексте их несколько, остальные будут проигнорированы.

Перед возвратом URL проходит очистку через sanitize_url() для обеспечения безопасности.

Работает на основе: sanitize_url()

Хуков нет.

Возвращает

Строку|false.

  • string — Найденный URL.
  • false — Если URL в контенте не найден.

Использование

get_url_in_content( $content );
$content(string) (обязательный)
Строка, в которой нужно найти ссылку и вытащить из нее УРЛ.

Примеры

-1

#1 Демо

В этом примере мы получаем первую ссылку из обычной строки.

$text = '
Посетите наш основной сайт https://example.com и наш блог 
<a href="https://blog.example.com">blog.example.com</a>.
';
$url = get_url_in_content( $text ); //> https://blog.example.com
-1

#2 Проверка на отсутствие URL

Если в тексте нет ссылок, функция вернет false.

$content = 'Это просто текст без каких-либо ссылок.';
$url = get_url_in_content( $content );

if ( ! $url ) {
	echo 'В тексте ссылок не найдено.';
}

// Вывод: В тексте ссылок не найдено.

Список изменений

С версии 3.6.0 Введена.

Код get_url_in_content() WP 7.0

function get_url_in_content( $content ) {
	if ( empty( $content ) ) {
		return false;
	}

	$processor = new WP_HTML_Tag_Processor( $content );
	while ( $processor->next_tag( 'A' ) ) {
		$href = $processor->get_attribute( 'href' );
		if ( is_string( $href ) && '' !== $href ) {
			return sanitize_url( $href );
		}
	}

	return false;
}