импортировать только формат электронной почты (удалить неверный формат)

0

Я использую oauth для yahoo api для импорта контактов электронной почты. И я успешно импортировал все мои контактные письма от yahoo на страницу.

Моя проблема теперь в том, что я использую javascript, чтобы выделить каждое письмо в текстовой области.

Это образец JavaScript, который будет выделять каждое электронное письмо.

   echo "$(\"#email-tags\").addTag(\"[email protected]\");";

Теперь, если есть что-то, что не отформатировано как электронная почта, текстовая область будет пустой, не будет отображаться никакой электронной почты.

Теперь мой вопрос заключается в том, как импортировать только то, что отформатировано как электронная почта. Потому что когда-то в контакте с электронной почтой, есть какой-то контакт из почтовой программы, который имеет следующий формат: DAFDGREGSDFHASRFEW2 <= Не формат электронной почты, который сделает мою ошибку JavaScript в текстовой области и не будет показывать никаких сообщений по электронной почте.

Вот последняя строка контакта электронной почты yahoo:

// Call Contact API 
$retarrs = callcontact_yahoo(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, $guid, $access_token, $access_token_secret, false, true);

//I have to use a delimiter of white space to separate each email here.  
$ymail = str_replace(',', ' ', $retarrs); 

//This is my javascript tag & the email contact list will show.     
echo "$(\"#email-tags\").addTag(\"".$ymail."\");";
Теги:
email

1 ответ

0

Вы можете использовать этот метод из этого сообщения:

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // invalid emailaddress
}

Итак, ваш окончательный вариант может выглядеть (в PHP):

    function is_email($email){
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
        return true;
    }
    else
        return false;
}

// Call Contact API
$retarrs = "[email protected],[email protected],hey@@hey,nothing";

//Explode, check, and re-collapse the string
$exploded = explode(",", $retarrs);
$exploded_emails = array();
foreach ($exploded as &$string) {
    if (is_email($string))
        $exploded_emails[] = $string;
}
$ymail = implode(" ",$exploded_emails);

echo "the emails are:" . $ymail;
  • 0
    Это не показывает электронную почту сейчас. Это только показывает адрес электронной почты, если только я повторяю $ retarrs.
  • 0
    Привет Алиса. Извините, я сделал две опечатки. Выше проверено и работает.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню