wp_extract_urls

Использует регулярное выражение, чтобы «вытащить» все ссылки (URL) из переданного текста.

✈ 1 раз = 0.000114с = быстро | 50000 раз = 0.19с = очень быстро PHP 7.0.8, WP 4.6.1

Хуков нет.

Возвращает

Массив. URL найденные в переданной строке.

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

wp_extract_urls( $content );
$content(строка) (обязательный)
Контент из которого нужно получить ссылки (URL).

Примеры

#1 Пример извлечения ссылок из переданного контента

$content = 'Начало текста со ссылкой: http://wp-kama.ru/ 
Продолжение, теперь ссылка будет в html <a href="http://wp-site.ru/foo">ссылка</a>. 
И еще один вариант, но теперь путь это будет ссылка на картинку: 
<img alt="" src="http://sitename.ru/image.jpg">. Ну и все, пока хватит.';

$urls = wp_extract_urls( $content );

/* $urls будет содержать такой массив:
Array
(
	[0] => http://wp-kama.ru/
	[1] => http://wp-site.ru/foo
	[2] => http://sitename.ru/image.jpg
)
*/

Код из


wp-includes/functions.php

WP 4.7.2

<?php
function wp_extract_urls( $content ) {
	preg_match_all(
		"#(["']?)("
			. "(?:([w-]+:)?//?)"
			. "[^s()<>]+"
			. "[.]"
			. "(?:"
				. "([wd]+)|"
				. "(?:"
					. "[^`!()[]{};:'".,<>«»“”‘’s]|"
					. "(?:[:]d+)?/?"
				. ")+"
			. ")"
		. ")\1#",
		$content,
		$post_links
	);

	$post_links = array_unique( array_map( 'html_entity_decode', $post_links[2] ) );

	return array_values( $post_links );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *