|
|
|
| <?php
$text = file('1.txt');
foreach ($text as $line)
{
if (preg_match("/http:+[^>]+\.mp4/", $line, $match))
echo $match[0]."<br>";
}
?>
данный код выводит мне одинаковые строки, т.е. каждая строка по два раза. Подскажите как это исправить??? вывод такой:
http://blip.tv/file/get/RichieB-wellingtonBotanicalGardens254.mp4
http://blip.tv/file/get/RichieB-wellingtonBotanicalGardens254.mp4
http://blip.tv/file/get/RichieB-fantailPiwakawaka644.mp4
http://blip.tv/file/get/RichieB-fantailPiwakawaka644.mp4
http://blip.tv/file/get/RichieB-rimu887.mp4
http://blip.tv/file/get/RichieB-rimu887.mp4 | |
|
|
|
|
|
|
|
для: Gangster
(16.07.2008 в 16:02)
| | попробуй
echo $match[0][0]."<br>";
|
| |
|
|
|
|
|
|
|
для: GeorgeIV
(16.07.2008 в 16:27)
| | неа. не работает. попробовал. выводит просто тупо "h" в каждой строчке | |
|
|
|
|
|
|
|
для: Gangster
(16.07.2008 в 16:02)
| | array_unique($array) - выбирает из массива только уникальные значения | |
|
|
|
|
|
|
|
для: Giga
(16.07.2008 в 16:34)
| | Спасибо большое. Попробую | |
|
|
|
|
|
|
|
для: Gangster
(16.07.2008 в 16:02)
| | а у тебя строка не вида
?Приведи пример строки | |
|
|
|
|
|
|
|
для: GeorgeIV
(16.07.2008 в 16:39)
| | Я фигово в регулярках разбираюсь и незнаю, что ты там намутил...
Но из любой мутной воды можно выловить рыбку
$text = file('1.txt');
foreach ($text as $line)
{
if (preg_match("/http:+[^>]+\.mp4/", $line, $match))
$array[] = $match[0]."<br>";
}
$array = array_unique($array);
foreach ($array as $line)
{
echo " $line<br>";
}
|
Крутые, образованные программисты тут конечно меня засмеют что через два цикла пропустил =))
Разберись с своей регуляркой. | |
|
|
|
|
|
|
|
для: Giga
(16.07.2008 в 16:51)
| | Только это не ко мне :-)
Но если знать, что у человека на входе, может и проще все будет. | |
|
|
|
|
|
|
|
для: GeorgeIV
(16.07.2008 в 16:53)
| | Ну так дай кусочек своего file.txt для примера, если в нем идет дубль строк то можно сразу после
$text = file('1.txt');
$array = array_unique($text);
|
Запускать в один цикл | |
|
|
|
|
|
|
|
для: Giga
(16.07.2008 в 16:58)
| | Внутренности и ключи в массиве удобно при разработке просмотреть через
$text = file('1.txt');
$array = array_unique($text);
echo var_dump($array);
|
Оценить что там за бардак и что нужно выводить, а уж после формировать цикл и вывод по ключам | |
|
|
|
|
|
|
|
для: Giga
(16.07.2008 в 16:58)
| |
<?php
$text = explode("\n","".
"a href='http://blip.tv/file/get/RichieB-wellingtonBotanicalGardens254.mp4'> ".
"http://blip.tv/file/get/RichieB-wellingtonBotanicalGardens254.mp4 </a>\n".
"a href='http://blip.tv/file/get/RichieB-fantailPiwakawaka644.mp4> ".
"http://blip.tv/file/get/RichieB-fantailPiwakawaka644.mp4 </a>\n".
"a href='http://blip.tv/file/get/RichieB-rimu887.mp4> ".
"http://blip.tv/file/get/RichieB-rimu887.mp4</a>");
foreach ($text as $line)
{
if (preg_match_all("/http:+[^>]+\.mp4/", $line, $match))
echo $match[0][0]."<br>";
}
?>
|
Это пример для случая, про который я спрашивал. Если знаешь, что на входе, можно проще добиваться результата. Но автор молчит. | |
|
|
|
|
|
|
|
для: GeorgeIV
(16.07.2008 в 17:07)
| | Да-да. Именно такие входные данные, как ты описал в массиве. | |
|
|
|
|
|
|
|
для: Gangster
(16.07.2008 в 18:10)
| | А что Вы ожидаете. У Вас каждый URL дважды встречается в строке. | |
|
|
|