Here’s my improvement on it with less code for the same results:
add_action( 'plugins_loaded', 'wpse_158700_buffer' );
function wpse_158700_buffer() {
# Enable output buffering
ob_start( 'wpse_158700_pingback_url' );
}
function wpse_158700_pingback_url( $buffer ) {
# If in the admin panel, don't run
if ( is_admin() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
return $buffer;
}
$buffer = preg_replace( '/(<link.*?rel=("|\')pingback("|\').*?href=("|\')(.*?)("|\')(.*?)?\/?>|<link.*?href=("|\')(.*?)("|\').*?rel=("|\')pingback("|\')(.*?)?\/?>)/i', '', $buffer );
return $buffer;
}