|
|
|
| Передо мной стоит такая задача: есть 2 текстовика, в первом - список имен, во втором тоже имена и мейлы, все не попорядку, имена от мейлов отделяют пробелы. Нужно средствами PHP отискать во втором файле мейлы с именами, которые предоставлены в первом файле..
Попробовал реализовать самостоятельно, вот что получилось:
<?php
$fp= fopen("1.txt", "r");
$fp2 = fopen("2.txt","r");
$i1=0;
$i2=0;
$i3=0;
while (!feof($fp))
{
$pat = fgets($fp);
while (!feof($fp2))
{
$str = fgets($fp2);
if (preg_match("/".$pat."/", "".$str."")=="true")
{
$res[$i3]= $str;
$i3++;
}
}
}
$i4=0;
while ($i4<=10)
{
echo "$res[$i4]<br>";
$i4++;
}
?>
|
По идее код должен работать (на основе того, что я вычитал в инете),
но он просто выводит первых 11 записей из второго файла (2.txt)
Пожалуйста, покажите мне что я делаю не так и в чем ошибка.. | |
|
|
|
|
|
|
|
для: vlad3012
(10.07.2012 в 22:56)
| | Насколько велики файлы? Нельзя их содержимое загнать в массивы? | |
|
|
|
|
|
|
|
для: cheops
(11.07.2012 в 07:53)
| | массивами пробовал, тоже не хочет, я уже все что знаю перепробовал..
Фвйлы большеватые, первый (1.txt) - 600кб, 2й (2.txt) - 2мб.. | |
|
|
|
|
|
|
|
для: vlad3012
(11.07.2012 в 12:01)
| | Небольшой кусочек того и другого файла прикрепите, чтобы можно было по-экспериментировать. | |
|
|
|
|
 8.7 Кб |
|
|
для: cheops
(11.07.2012 в 16:42)
| | Я бы с радостью, но я же не знаю в каком месте есть совпадения, но они точно есть.. Такчто прикреплю полные файлы.
Помогите пожайлуста, очень нужно... | |
|
|
|
|
|
|
|
для: vlad3012
(11.07.2012 в 17:43)
| | файл 2 | |
|
|
|
|
|
|
|
для: vlad3012
(10.07.2012 в 22:56)
| | Можно начать отталкиваться от следующего скрипта
<?php
$fst = "fst.txt";
$snd = "snd.txt";
$names = file($fst);
$content = file_get_contents($snd);
$result = array();
for($i = 0; $i < count($names); $i++)
{
$names[$i] = trim($names[$i]);
$pattern = "|".preg_quote($names[$i])."\s+(\S+@\S+)\s|";
if(preg_match($pattern, $lines[$i], $out))
{
$result[$name] = $out[1];
echo $name."<br />";
}
}
echo "<pre>";
print_r($result);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(12.07.2012 в 16:10)
| | Большое спасибо, буду пробовать) | |
|
|
|