Подскажите пожалуйста по PHP

seosniks
На сайте с 13.08.2007
Offline
389
482

Ребятки что то туплю, или мозги не варят из за того что

я долго думаю :D :D

Такой код

$str = file_get_contents('http://сайт');

preg_match_all('/брать от (.*?)до/is', $str, $out);
for($i=0;$i<4;$i++) { #
$tmp = $out[0][$i];
//echo $tmp ;// здесь появляются нужные ссылки выводятся в цикле.Вернее в коде не выводятся циклом А должны .

/*Ниже мне надо вывести все что попадает из ссылки */ в переменную $tmp
$text = file_get_contents ( $tmp);
}

//не пашет. Как мне сунуть ссылку в $text = file_get_contents ( $tmp);

именно циклом за каждый проход один урл.

Сейчас попадают все урлы сразу в

Warning: file_get_contents( http://www. http://www. ) [function.file-get-contents]: failed to open stream: No error in Y:\home\6ru\7.php on line 25

Получается что все ссылки попадают сразу же в file_get_contents ($tmp);

timur-kar
На сайте с 29.05.2006
Offline
85
#1
seosniks:
Ребятки что то туплю, или мозги не варят из за того что
я долго думаю :D :D

Такой код
$str = file_get_contents('http://сайт');

preg_match_all('/брать от (.*?)до/is', $str, $out);
for($i=0;$i<4;$i++) { #
$tmp = $out[0][$i];
//echo $tmp ;// здесь появляются нужные ссылки выводятся в цикле.Вернее в коде не выводятся циклом А должны .

/*Ниже мне надо вывести все что попадает из ссылки */ в переменную $tmp
$text = file_get_contents ( $tmp);
}

//не пашет. Как мне сунуть ссылку в $text = file_get_contents ( $tmp);

именно циклом за каждый проход один урл.
Сейчас попадают все урлы сразу в
Warning: file_get_contents( http://www. http://www. ) [function.file-get-contents]: failed to open stream: No error in Y:\home\6ru\7.php on line 25


Получается что все ссылки попадают сразу же в file_get_contents ($tmp);

Ну посмотрите что у вас в массиве $out, сделайте print_r :)

P.S.: я так думаю $tmp = $out[0][$i]; здесь вместо 0 нужно 1 поставить, хотя все зависит от того что у вас в данных

Serg_pnz
На сайте с 05.03.2008
Offline
117
#2

Несколько удобнее смотреть так:

echo "<pre>";
print_r($out);
echo "</pre>";
Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
[Удален]
#3

несколько раз перечитал ваш пост, ТС, но так и не понял в чем проблема.

вообще для прохода выходного массива preg лучше использовать цикл foreach, а еще лучше дописать перед этим в preg_match_all четвертым параметром PREG_SET_ORDER, дабы гонять по одному индексу а не по обоим.

W
На сайте с 03.07.2007
Offline
36
#4

Тоже два раза перечитал ... и не понял что надо :))

Лучшая веб студия Максимаф.ру (http://maksimaf.ru) ICQ : 464-338-997 MAil: wispoz@inbox.ru Телефон: 8(915) 368-45-93
seosniks
На сайте с 13.08.2007
Offline
389
#5
timur-kar:
Ну посмотрите что у вас в массиве $out, сделайте print_r :)
P.S.: я так думаю $tmp = $out[0][$i]; здесь вместо 0 нужно 1 поставить, хотя все зависит от того что у вас в данных

Все разобрался! Спасибо всем.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий