WordPress Version: 6.1
/**
* Sanitizes space or carriage return separated URLs that are used to send trackbacks.
*
* @since 3.4.0
*
* @param string $to_ping Space or carriage return separated URLs
* @return string URLs starting with the http or https protocol, separated by a carriage return.
*/
function sanitize_trackback_urls($to_ping)
{
$urls_to_ping = preg_split('/[\r\n\t ]/', trim($to_ping), -1, PREG_SPLIT_NO_EMPTY);
foreach ($urls_to_ping as $k => $url) {
if (!preg_match('#^https?://.#i', $url)) {
unset($urls_to_ping[$k]);
}
}
$urls_to_ping = array_map('sanitize_url', $urls_to_ping);
$urls_to_ping = implode("\n", $urls_to_ping);
/**
* Filters a list of trackback URLs following sanitization.
*
* The string returned here consists of a space or carriage return-delimited list
* of trackback URLs.
*
* @since 3.4.0
*
* @param string $urls_to_ping Sanitized space or carriage return separated URLs.
* @param string $to_ping Space or carriage return separated URLs before sanitization.
*/
return apply_filters('sanitize_trackback_urls', $urls_to_ping, $to_ping);
}