Может кто-нибудь сказать мне, почему результат, который я получаю, отличается от книги?
Вот код
<?php
$address = "[email protected]";
$arr = split ("\.|@", $address);
while (list($key, $value) = each($arr))
{
echo "<br/>".$value;
}
?>
Вот результат, который говорится в книге.
username
@
example
.
com
Вот что я получил, когда попробовал код на своем компьютере
Deprecated: Function split() is deprecated in C:\Apache24\htdocs\test3.php on line 3
username
example
com
split()
функция устарела с PHP 5.3.0.
использование preg_split()
вместо.
Использование этого так же, как split()
,
Книга неверна в том, что вы не должны получать сами символы-разделители, только «слова» между ними.
Предупреждение связано с split()
о прекращении в пользу preg_split()
поэтому вы должны заменить его на
$arr = preg_split ('/\.|@/', $address);
предотвратить предупреждение.
Я бы порекомендовал вам разделить на @
только сначала, и только потом разделить имя домена по .
в противном случае вы не знаете, [email protected]
или же [email protected]
привести к
foo
bar
example
com
результат.