clean_url

The timeline below displays how wordpress function clean_url has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.2

/**
 * Checks and cleans a URL.
 *
 * A number of characters are removed from the URL. If the URL is for displaying
 * (the default behavior) ampersands are also replaced. The 'clean_url' filter
 * is applied to the returned cleaned URL.
 *
 * @since 1.2.0
 * @deprecated 3.0.0 Use esc_url()
 * @see esc_url()
 *
 * @param string $url The URL to be cleaned.
 * @param array $protocols Optional. An array of acceptable protocols.
 * @param string $context Optional. How the URL will be used. Default is 'display'.
 * @return string The cleaned $url after the {@see 'clean_url'} filter is applied.
 */
function clean_url($url, $protocols = null, $context = 'display')
{
    if ($context == 'db') {
        _deprecated_function('clean_url( $context = \'db\' )', '3.0.0', 'sanitize_url()');
    } else {
        _deprecated_function(__FUNCTION__, '3.0.0', 'esc_url()');
    }
    return esc_url($url, $protocols, $context);
}

WordPress Version: 6.1

/**
 * Checks and cleans a URL.
 *
 * A number of characters are removed from the URL. If the URL is for displaying
 * (the default behaviour) ampersands are also replaced. The 'clean_url' filter
 * is applied to the returned cleaned URL.
 *
 * @since 1.2.0
 * @deprecated 3.0.0 Use esc_url()
 * @see esc_url()
 *
 * @param string $url The URL to be cleaned.
 * @param array $protocols Optional. An array of acceptable protocols.
 * @param string $context Optional. How the URL will be used. Default is 'display'.
 * @return string The cleaned $url after the {@see 'clean_url'} filter is applied.
 */
function clean_url($url, $protocols = null, $context = 'display')
{
    if ($context == 'db') {
        _deprecated_function('clean_url( $context = \'db\' )', '3.0.0', 'sanitize_url()');
    } else {
        _deprecated_function(__FUNCTION__, '3.0.0', 'esc_url()');
    }
    return esc_url($url, $protocols, $context);
}

WordPress Version: 4.7

/**
 * Checks and cleans a URL.
 *
 * A number of characters are removed from the URL. If the URL is for displaying
 * (the default behaviour) ampersands are also replaced. The 'clean_url' filter
 * is applied to the returned cleaned URL.
 *
 * @since 1.2.0
 * @deprecated 3.0.0 Use esc_url()
 * @see esc_url()
 *
 * @param string $url The URL to be cleaned.
 * @param array $protocols Optional. An array of acceptable protocols.
 * @param string $context Optional. How the URL will be used. Default is 'display'.
 * @return string The cleaned $url after the {@see 'clean_url'} filter is applied.
 */
function clean_url($url, $protocols = null, $context = 'display')
{
    if ($context == 'db') {
        _deprecated_function('clean_url( $context = \'db\' )', '3.0.0', 'esc_url_raw()');
    } else {
        _deprecated_function(__FUNCTION__, '3.0.0', 'esc_url()');
    }
    return esc_url($url, $protocols, $context);
}

WordPress Version: 4.6

/**
 * Checks and cleans a URL.
 *
 * A number of characters are removed from the URL. If the URL is for displaying
 * (the default behaviour) ampersands are also replaced. The 'clean_url' filter
 * is applied to the returned cleaned URL.
 *
 * @since 1.2.0
 * @deprecated 3.0.0 Use esc_url()
 * @see Alias for esc_url()
 *
 * @param string $url The URL to be cleaned.
 * @param array $protocols Optional. An array of acceptable protocols.
 * @param string $context Optional. How the URL will be used. Default is 'display'.
 * @return string The cleaned $url after the {@see 'clean_url'} filter is applied.
 */
function clean_url($url, $protocols = null, $context = 'display')
{
    if ($context == 'db') {
        _deprecated_function('clean_url( $context = \'db\' )', '3.0.0', 'esc_url_raw()');
    } else {
        _deprecated_function(__FUNCTION__, '3.0.0', 'esc_url()');
    }
    return esc_url($url, $protocols, $context);
}

WordPress Version: 4.4

/**
 * Checks and cleans a URL.
 *
 * A number of characters are removed from the URL. If the URL is for displaying
 * (the default behaviour) ampersands are also replaced. The 'clean_url' filter
 * is applied to the returned cleaned URL.
 *
 * @since 1.2.0
 * @deprecated 3.0.0 Use esc_url()
 * @see Alias for esc_url()
 *
 * @param string $url The URL to be cleaned.
 * @param array $protocols Optional. An array of acceptable protocols.
 * @param string $context Optional. How the URL will be used. Default is 'display'.
 * @return string The cleaned $url after the 'clean_url' filter is applied.
 */
function clean_url($url, $protocols = null, $context = 'display')
{
    if ($context == 'db') {
        _deprecated_function('clean_url( $context = \'db\' )', '3.0', 'esc_url_raw()');
    } else {
        _deprecated_function(__FUNCTION__, '3.0', 'esc_url()');
    }
    return esc_url($url, $protocols, $context);
}

WordPress Version: 3.7

/**
 * Checks and cleans a URL.
 *
 * A number of characters are removed from the URL. If the URL is for displaying
 * (the default behaviour) ampersands are also replaced. The 'clean_url' filter
 * is applied to the returned cleaned URL.
 *
 * @since 1.2.0
 * @deprecated 3.0.0
 * @deprecated Use esc_url()
 * @see Alias for esc_url()
 *
 * @param string $url The URL to be cleaned.
 * @param array $protocols Optional. An array of acceptable protocols.
 * @param string $context Optional. How the URL will be used. Default is 'display'.
 * @return string The cleaned $url after the 'clean_url' filter is applied.
 */
function clean_url($url, $protocols = null, $context = 'display')
{
    if ($context == 'db') {
        _deprecated_function('clean_url( $context = \'db\' )', '3.0', 'esc_url_raw()');
    } else {
        _deprecated_function(__FUNCTION__, '3.0', 'esc_url()');
    }
    return esc_url($url, $protocols, $context);
}