sanitize_email [ WordPress Function ]
sanitize_email ( $email )
| Parameters: |
|
| Returns: |
|
| Defined at: |
|
Soorgelijke functies: sanitize_term, sanitize_meta, sanitize_title, sanitize_term_field, sanitize_url
Strips out all characters that are not allowable in an email.
Source
<?php
function sanitize_email( $email ) {
// Test for the minimum length the email can be
if ( strlen( $email ) < 3 ) {
return apply_filters( 'sanitize_email', '', $email, 'email_too_short' );
}
// Test for an @ character after the first position
if ( strpos( $email, '@', 1 ) === false ) {
return apply_filters( 'sanitize_email', '', $email, 'email_no_at' );
}
// Split out the local and domain parts
list( $local, $domain ) = explode( '@', $email, 2 );
// LOCAL PART
// Test for invalid characters
$local = preg_replace( '/[^a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]/', '', $local );
if ( '' === $local ) {
return apply_filters( 'sanitize_email', '', $email, 'local_invalid_chars' );
}
// DOMAIN PART
// Test for sequences of periods
$domain = preg_replace( '/\.{2,}/', '', $domain );
if ( '' === $domain ) {
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 ) {
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
if ( 2 > count( $subs ) ) {
return apply_filters( 'sanitize_email', '', $email, 'domain_no_periods' );
}
// Create an array that will contain valid subs
$new_subs = array();
// Loop through each sub
foreach ( $subs as $sub ) {
// Test for leading and trailing hyphens
$sub = trim( $sub, " \t\n\r\0\x0B-" );
// Test for invalid characters
$sub = preg_replace( '/[^a-z0-9-]+/i', '', $sub );
// If there's anything left, add it to the valid subs
if ( '' !== $sub ) {
$new_subs[] = $sub;
}
}
// If there aren't 2 or more valid subs
if ( 2 > count( $new_subs ) ) {
return apply_filters( 'sanitize_email', '', $email, 'domain_no_valid_subs' );
}
// Join valid subs into the new domain
$domain = join( '.', $new_subs );
// Put the email back together
$email = $local . '@' . $domain;
// Congratulations your email made it!
return apply_filters( 'sanitize_email', $email, $email, null );
}
?>
Examples [ wp-snippets.com ]
Top Google zoekresultaten
- pboling/sanitize_email · GitHub
Apr 10, 2012 ... sanitize_email - SanitizeEmail allows you to play with your application's email abilities without worrying that emails will get sent to actual live ...
github.com - Function Reference/sanitize email « WordPress Codex
Description. Strips out all characters that are not allowable in an email. Usage. <? php sanitize_email( $email ) ?> Parameters. $email: (string) (required) Email ...
codex.wordpress.org - Chi Bol Galtzo: Sanitize Email: Never worry about sending email in ...
Nov 5, 2008 ... SanitizeEmail allows you to play with your application's email abilities without worrying that emails will get sent to actual live addresses.
galtzo.blogspot.com - Reintroducing sanitize_email | Work with Production Email without ...
Apr 25, 2009 ... The primary value sanitize_email provides is that it allows you to reroute all email without having to alter any application code.
blog.smartlogicsolutions.com