我正在使用oauth为yahoo api导入电子邮件联系人。我已成功将所有来自雅虎的联系电子邮件导入页面。
我现在的问题是我使用javascript来突出显示文本区域中的每封电子邮件。
这是JavaScript的示例,它将突出显示每封电子邮件。
echo "$(\"#email-tags\").addTag(\"yahoo@yahoo.com\");";
现在,如果有些内容未格式化为电子邮件,则文本区域将为空白,不会显示任何电子邮件。
我现在的问题是如何只导入格式化为电子邮件的内容。因为有时在电子邮件联系中,有一些来自邮件的联系人,其格式如下:DAFDGREGSDFHASRFEW2< =不是电子邮件格式,这将在文本区域中使我的javascript错误并且不会显示任何电子邮件。
以下是雅虎电子邮件联系的最后几行:
// 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."\");";
答案 0 :(得分:0)
您可以使用this post中的此方法:
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 = "test@test.com,peter@peter.com,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;