sanitize_email
sanitize_email
Appears in: wordpress-4.0, wordpress-4.4, wordpress-4.8, wordpress-4.9, wordpress-4.9.4, wordpress-4.9.5, wordpress-4.9.6, wordpress-4.9.7, wordpress-4.9.8, wordpress-5.0, wordpress-5.0.1, wordpress-5.0.2, wordpress-5.0.3, wordpress-5.1, wordpress-5.1.1, wordpress-5.2, wordpress-5.2.1, wordpress-5.2.2, wordpress-5.2.3, wordpress-5.2.4, wordpress-5.3, wordpress-5.3.1, wordpress-5.3.2, wordpress-5.4, wordpress-5.4.1, wordpress-5.4.2, wordpress-5.5, wordpress-5.5.1, wordpress-5.5.2, wordpress-5.5.3, wordpress-5.6, wordpress-5.6.1, wordpress-5.6.2, wordpress-5.7, wordpress-5.7.1, wordpress-5.7.2, wordpress-5.8, wordpress-5.8.1, wordpress-5.8.2, wordpress-5.8.3, wordpress-5.9, wordpress-5.9.1, wordpress-5.9.2, wordpress-5.9.3, wordpress-6.0, wordpress-6.0.1, wordpress-6.0.2, wordpress-6.0.3, wordpress-6.1, wordpress-6.1.1, wordpress-6.2, wordpress-6.2.1, wordpress-6.2.2, wordpress-6.3, wordpress-6.3.1, wordpress-6.3.2, wordpress-6.4, wordpress-6.4.1, wordpress-6.4.2, wordpress-6.4.3, wordpress-6.5, wordpress-6.5.2, wordpress-6.5.3, wordpress-6.5.4, wordpress-6.5.5, wordpress-6.6, wordpress-6.6.1, wordpress-6.6.2, wordpress-6.7, wordpress-6.7.1, wordpress-6.7.2
Hook Type: filter
Displaying hooks found in version: wordpress-6.7.2apply_filters('sanitize_email') is found 8 times:
- /wp-includes/formatting.php line 375837543755375637573758375937603761376237633764
* @param string
$sanitized_email
The sanitized email address.
* @param string
$email
The email address,
as
provided to sanitize_email().
* @param string|null
$message
A message to pass to the user. null
if
email is sanitized.
*/
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'email_too_short'
);
}
// Test for an @ character after the first position.
if
(
strpos
(
$email
,
'@'
, 1 ) === false ) {
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'email_no_at'
);
- /wp-includes/formatting.php line 37643761376237633764376537663767376837693770
// Test for an @ character after the first position.
if
(
strpos
(
$email
,
'@'
, 1 ) === false ) {
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'email_no_at'
);
}
// Split out the local and domain parts.
list(
$local
,
$domain
) =
explode
(
'@'
,
$email
, 2 );
/*
- /wp-includes/formatting.php line 377737733774377537763777377837793780378137823783
*/
$local
= preg_replace(
'/[^a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]/'
,
''
,
$local
);
if
(
''
===
$local
) {
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'local_invalid_chars'
);
}
/*
* DOMAIN PART
* Test for sequences of periods.
*/
- /wp-includes/formatting.php line 378737833784378537863787378837893790379137923793
*/
$domain
= preg_replace(
'/\.{2,}/'
,
''
,
$domain
);
if
(
''
===
$domain
) {
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'domain_period_sequence'
);
}
// Test for leading and trailing periods and whitespace.
$domain
= trim(
$domain
,
" \t\n\r\0\x0B."
);
if
(
''
===
$domain
) {
/** This filter is documented in wp-includes/formatting.php */
- /wp-includes/formatting.php line 379437903791379237933794379537963797379837993800
// Test for leading and trailing periods and whitespace.
$domain
= trim(
$domain
,
" \t\n\r\0\x0B."
);
if
(
''
===
$domain
) {
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'domain_period_limits'
);
}
// Split the domain into subs.
$subs
=
explode
(
'.'
,
$domain
);
// Assume the domain will have at least two subs.
- /wp-includes/formatting.php line 38033800380138023803380438053806380738083809
// Assume the domain will have at least two subs.
if
( 2 >
count
(
$subs
) ) {
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'domain_no_periods'
);
}
// Create an array that will contain valid subs.
$new_subs
=
array
();
// Loop through each sub.
- /wp-includes/formatting.php line 38263823382438253826382738283829383038313832
// If there aren't 2 or more valid subs.
if
( 2 >
count
(
$new_subs
) ) {
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
''
,
$email
,
'domain_no_valid_subs'
);
}
// Join valid subs into the new domain.
$domain
= implode(
'.'
,
$new_subs
);
// Put the email back together.
- /wp-includes/formatting.php line 383738333834383538363837383838393840384138423843
$sanitized_email
=
$local
.
'@'
.
$domain
;
// Congratulations, your email made it!
/** This filter is documented in wp-includes/formatting.php */
return
apply_filters(
'sanitize_email'
,
$sanitized_email
,
$email
, null );
}
/**
* Determines the difference between two timestamps.
*
* The difference is returned in a human-readable format such
as
"1 hour"
,