|
|
|
| Имеется такой код
<?php
// Функция для извлечения инфомации из файла и помещения
// ее в переменную
function FileToContent($filename)
{
// Открываем файл для чтения
$fid = fopen($filename, "r");
$textresult = "";
// Если файл не открывается. то выводим сообщение об ошибке
if(!$fid) echo "Запрашиваемая страница не найдена";
else
{
// Читаем содержимое файла в переменную $textresult
while(!feof($fid)) $textresult .= fgets($fid, 4096);
}
// Закрываем открытый указатель файла $fid
fclose($fid);
// Возвращаем содержимое страницы поисковой системы
return $textresult;
}
// Функция для сохранения адресов электронной почты в файл
function ContentToFile($filename, $content)
{
// Открываем файл для его сохранения
$fid = fopen($filename, "a+");
// Записываем адрес в файл
fwrite($fid, $content."\r\n");
// Возвращаем значение true
return true;
}
// Помещаем содержимое файла в переменную $content
$content = FileToContent("dump.sql");
// Вырезаем адреса электронной почты из этого файла
// и заносим их в массив
$array_email = array();
$pattern = "|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}|i";
preg_match_all($pattern, $content, $array_email);
// Выводим каждый адрес в одной строке в виде таблицы
echo "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"table\">
<tr class=\"header\">
<td class=\"field\">Адреса электронной почты</td>
</tr>";
// Выводим строки
foreach($array_email[0] as $address)
{
// Сохраняем адреса электронной почты в афйл
// email_base.txt
ContentToFile("email_base.txt", $address);
// Выводим строку
echo "<tr><td>".$address."</td></tr>";
}
// Выводим завершение таблицы
echo "</table>";
?>
|
Как сделать так, чтобы все повоторяющиеся значения в массиве были удалены. То есть, чтобы в массиве были только уникальные значения | |
|
|
|
|
|
|
|
для: ZC
(21.01.2006 в 21:55)
| | Пропустите массив $array_email через функцию array_unique(). | |
|
|
|
|
|
|
|
для: cheops
(21.01.2006 в 22:02)
| | Спасибо. | |
|
|
|
|
|
|
|
для: cheops
(21.01.2006 в 22:02)
| | Хотя нет. Вот сделал все как надо, но все равно адреса повторяются.
<?php
// Выполняем соединение с базой джанных
include_once "config.php";
// Задаем значения переменых страницы
if(!isset($pagetitle)) $pagetitle = "Главная страница администрирования сайта";
if(!isset($pagehelp)) $pagehelp = "";
if(!isset($pagemenu)) $pagemenu = 0;
// Подключаем шапку страницы
include_once "utils/topadmin.php";
// Функция для извлечения инфомации из файла и помещения
// ее в переменную
function FileToContent($filename)
{
// Открываем файл для чтения
$fid = fopen($filename, "r");
$textresult = "";
// Если файл не открывается. то выводим сообщение об ошибке
if(!$fid) echo "Запрашиваемая страница не найдена";
else
{
// Читаем содержимое файла в переменную $textresult
while(!feof($fid)) $textresult .= fgets($fid, 4096);
}
// Закрываем открытый указатель файла $fid
fclose($fid);
// Возвращаем содержимое страницы поисковой системы
return $textresult;
}
// Функция для сохранения адресов электронной почты в файл
function ContentToFile($filename, $content)
{
// Открываем файл для его сохранения
$fid = fopen($filename, "a+");
// Записываем адрес в файл
fwrite($fid, $content."\r\n");
// Возвращаем значение true
return true;
}
// Помещаем содержимое файла в переменную $content
$content = FileToContent("fics.sql");
// Вырезаем адреса электронной почты из этого файла
// и заносим их в массив
$array_email = array();
$pattern = "|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}|i";
preg_match_all($pattern, $content, $array_email);
// Удаляем повторяющиеся значения из массива $array_email
$new_array_email = array_unique($array_email);
// Выводим каждый адрес в одной строке в виде таблицы
$dx = 100/3;
?>
<table cellpadding="0" cellspacing="0" width="100%" class="table">
<tr class="header">
<td width="<?php echo $dx."%"; ?>" class="field">Адрес</td>
<td width="<?php echo $dx."%"; ?>" class="field">Логин</td>
<td width="<?php echo $dx."%"; ?>" class="field">Сервер</td>
</tr>
<?php
// Выводим строки
foreach($new_array_email[0] as $address)
{
// Сохраняем адреса электронной почты в файл
// email_base.txt
ContentToFile("email_base.txt", $address);
// Разбиваем строку на две части
$pieces = explode("@", $address);
$login = $pieces[0];
$server = "www.".$pieces[1];
// Выводим строку
echo "<tr><td><a href=\"mailto:".$address."\">".$address."</a></td><td><b>".$login."</b></td><td><a href=http://".$server.">".$server."</a></td></tr>";
}
?>
</table>
<?php
// Подключаем низ страницы
include_once "utils/bottomadmin.php";
?>
|
| |
|
|
|
|
|
|
|
для: ZC
(22.01.2006 в 17:09)
| | Может кто-нить поможет | |
|
|
|
|
|
|
|
для: ZC
(22.01.2006 в 17:09)
| | Проверьте, повторные адреса - нет там в конце никаких невидимых символов или ещё что-то в этом духе? | |
|
|
|
|
|
|
|
для: cheops
(22.01.2006 в 22:58)
| | Да вроде нет никаких скрытых символов. | |
|
|
|