If for some reason you cannot compile mailparse into your install of PHP, you will also find an extremely similar function in the Mail_MIME PEAR class, specifically in mimeDecode.php.mailparse_rfc822_parse_addresses
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
mailparse_rfc822_parse_addresses
Референца за `function.mailparse-rfc822-parse-addresses.php` со подобрена типографија и навигација.
mailparse_rfc822_parse_addresses
(PECL mailparse >= 0.9.0)
mailparse_rfc822_parse_addresses — Парсира адреси усогласени со RFC 822
= NULL
Парсира синтаксисните правила во листа на приматели усогласена, како што се наоѓа во To: header.
Параметри
addresses-
Низ од адреси, како во:
Wez Furlong <[email protected]>, [email protected]Забелешка: Овој низ не смее да го вклучува името на заглавието.
Вратени вредности
Враќа низа од асоцијативни низи со следниве клучеви за секој примател:
display |
Името на примателот, за целите на прикажување. Ако овој дел не е поставен за примател, овој клуч ќе ја задржи истата вредност како
address.
|
address |
Е-пошта адреса |
is_group |
true ако примателот е њузгрупа, false otherwise. |
Примери
Пример #1 mailparse_rfc822_parse_addresses() example
<?php
$to = 'Wez Furlong <[email protected]>, [email protected]';
var_dump(mailparse_rfc822_parse_addresses($to));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
array(2) {
[0]=>
array(3) {
["display"]=>
string(11) "Wez Furlong"
["address"]=>
string(15) "[email protected]"
["is_group"]=>
bool(false)
}
[1]=>
array(3) {
["display"]=>
string(15) "[email protected]"
["address"]=>
string(15) "[email protected]"
["is_group"]=>
bool(false)
}
}
Белешки од корисници 3 белешки
<?php
// input: My Test Email <[email protected]>
function get_displayname_from_rfc_email($rfc_email_string) {
// match all words and whitespace, will be terminated by '<'
$name = preg_match('/[\w\s]+/', $rfc_email_string, $matches);
$matches[0] = trim($matches[0]);
return $matches[0];
}
// Output: My Test Email
function get_email_from_rfc_email($rfc_email_string) {
// extract parts between the two parentheses
$mailAddress = preg_match('/(?:<)(.+)(?:>)$/', $rfc_email_string, $matches);
return $matches[1];
}
// Output: [email protected]
?>An alternative to the mailparse_rfc822_parse_addresses() function is Mail_RFC822::parseAddressList() from Pear:
http://pear.php.net/manual/en/package.mail.mail.php
It parses the string and returns a structured tree of data. Returns a pear_error object if the string is not valid.
Example:
require_once "PEAR.php";
require_once "Mail/RFC822.php";
$addr= "Hi <[email protected]>";
$res= Mail_RFC822::parseAddressList($addr);
if (PEAR::isError($res)) die("NOT VALID: " . $res->getMessage() . "\n");
echo "OK. Data:\n";
print_r($res);