Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

_make_url_clickable_cb() WordPress Function

This function is used to make sure that URLs are properly clickable in WordPress. It makes sure that there is an http:// or https:// before the URL, and that there is no space between the URL and the rest of the text. This function is important for making sure that your website is accessible and user-friendly.

_make_url_clickable_cb( array $matches ) #

Callback to convert URI match to HTML A element.


Description

This function was backported from 2.5.0 to 2.3.2. Regex callback for make_clickable().


Top ↑

Parameters

$matches

(array)(Required)Single Regex Match.


Top ↑

Return

(string) HTML A element with URI address.


Top ↑

Source

File: wp-includes/formatting.php

function _make_url_clickable_cb( $matches ) {
	$url = $matches[2];

	if ( ')' === $matches[3] && strpos( $url, '(' ) ) {
		// If the trailing character is a closing parethesis, and the URL has an opening parenthesis in it,
		// add the closing parenthesis to the URL. Then we can let the parenthesis balancer do its thing below.
		$url   .= $matches[3];
		$suffix = '';
	} else {
		$suffix = $matches[3];
	}

	// Include parentheses in the URL only if paired.
	while ( substr_count( $url, '(' ) < substr_count( $url, ')' ) ) {
		$suffix = strrchr( $url, ')' ) . $suffix;
		$url    = substr( $url, 0, strrpos( $url, ')' ) );
	}

	$url = esc_url( $url );
	if ( empty( $url ) ) {
		return $matches[0];
	}

	if ( 'comment_text' === current_filter() ) {
		$rel = 'nofollow ugc';
	} else {
		$rel = 'nofollow';
	}

	/**
	 * Filters the rel value that is added to URL matches converted to links.
	 *
	 * @since 5.3.0
	 *
	 * @param string $rel The rel value.
	 * @param string $url The matched URL being converted to a link tag.
	 */
	$rel = apply_filters( 'make_clickable_rel', $rel, $url );
	$rel = esc_attr( $rel );

	return $matches[1] . "<a href=\"$url\" rel=\"$rel\">$url</a>" . $suffix;
}


Top ↑

Changelog

Changelog
VersionDescription
2.3.2Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.