wpseek.com
A WordPress-centric search engine for devs and theme authors



wp_extract_urls › WordPress Function

Since3.7.0
Deprecatedn/a
wp_extract_urls ( $content )
Parameters:
  • (string) $content Content to extract URLs from.
    Required: Yes
Returns:
  • (string[]) Array of URLs found in passed string.
Defined at:
Codex:
Change Log:
  • 6.0.0

Uses RegEx to extract URLs from arbitrary content.



Source

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

	$post_links = array_unique(
		array_map(
			static function( $link ) {
				// Decode to replace valid entities, like &amp;.
				$link = html_entity_decode( $link );
				// Maintain backward compatibility by removing extraneous semi-colons (`;`).
				return str_replace( ';', '', $link );
			},
			$post_links[2]
		)
	);

	return array_values( $post_links );
}