|
|
|
| Вообщем такая задачка...
Нужная информация лежит между кодом
<b>Номер задания</b></td></tr><tr align="center">
|
и
<tr align="right">
<td class="txt" width="500" colspan="1"><b>СТРАНИЦА:</b>
|
Дальше из получного куска текста вытащить ссылки вида
<a href="http://www.site.ru/content/Al7/0/1/$a тут могут быть анг. буквы разного регистра.html" target="_blank">$b тут может быть любое число</a>
|
и инфу каждой ссылки загнать в массив
$mas[инф. из переменной $a] = инф. из переменной $b;
думую понятно объяснил, если кто может - подскажите | |
|
|
|
|
|
|
|
для: JIEXA
(04.09.2005 в 00:51)
| | А нельзя ли кусочек HTML-кода увидеть - без него очень сложно сразу создать рабочий код. | |
|
|
|
|
|
|
|
для: cheops
(04.09.2005 в 12:58)
| | - | |
|
|
|
|
|
|
|
для: JIEXA
(04.09.2005 в 17:25)
| | ничего себе кусочек ;) | |
|
|
|
|
 43.1 Кб |
|
|
для: JIEXA
(04.09.2005 в 17:25)
| | Такие большие файлы лучше прикреплять в виде отдельного файла - иначе будет мало желающих выгружать такую длинную и объёмную тему каждый раз чтобы ответить на пост. | |
|
|
|
|
|
|
|
для: cheops
(04.09.2005 в 19:43)
| | Немогли бы подсказать по моему вопросу, если не трудно конечно же. | |
|
|
|
|
|
|
|
для: JIEXA
(04.09.2005 в 00:51)
| | У меня пока, вот такой кодик получился:
<?php
$text = file_get_contents("http://www.site.ru/gdz/Al7/0/");
// Ищем начало вхождения таблицы
$pos_begin = strpos($text,'<b>Номер задания</b></td></tr><tr align="center">');
$text = substr($text,$pos_begin);
// Ищем конец таблицы
$pos_end = strpos($text,'<td class="txt" width="500" colspan="1"><b>СТРАНИЦА:</b>');
$text2 = substr($text, 0, $pos_end + 14);
preg_match_all("|href=([^>]+)|i",$text2, $out, PREG_PATTERN_ORDER);
foreach($out[1] as $href)
{
$href = str_replace("\" target=\"_blank\"", "", $href);
$href = str_replace("\"", "", $href);
$href = str_replace(".html", ".jpg", $href);
echo $href."<br>";
}
?>
|
После обработки я получаю такой текст
http://www.site.ru/content/Al7/0/1/mlugUYA.jpg
http://www.site.ru/content/Al7/0/1/9NyWkhq.jpg
http://www.site.ru/content/Al7/0/1/4Uypg2l.jpg
http://www.site.ru/content/Al7/0/1/9g6cJbd.jpg
http://www.site.ru/content/Al7/0/1/82cI5rb.jpg
http://www.site.ru/content/Al7/0/1/o3zh7lO.jpg
http://www.site.ru/content/Al7/0/1/h5HqPYT.jpg
http://www.site.ru/content/Al7/0/1/gSNA42P.jpg
http://www.site.ru/content/Al7/0/1/GCPYTFY.jpg
http://www.site.ru/content/Al7/0/1/rHNctYa.jpg
http://www.site.ru/content/Al7/0/1/yVYK3Y6.jpg
http://www.site.ru/content/Al7/0/1/WfRyDzz.jpg
http://www.site.ru/content/Al7/0/1/pdoDZQX.jpg
http://www.site.ru/content/Al7/0/1/ie3UwXb.jpg
http://www.site.ru/content/Al7/0/1/e53lcw3.jpg
http://www.site.ru/content/Al7/0/1/au4WShy.jpg
http://www.site.ru/content/Al7/0/1/ZlSGivP.jpg
http://www.site.ru/content/Al7/0/1/l4zmNU2.jpg
.....
и т.д.
|
Теперь мне нужно сделать, так чтобы по всем этим ссылкам поочереди скачивались картинки, затем копировались в папку /img/, и переименовывались в число, которое было в ссылке.
А точнее, ссылки там вида
<a href="http://www.site.ru/content/Al7/0/1/mlugUYA.html" target="_blank">1</a>
<a href="http://www.site.ru/content/Al7/0/1/9NyWkhq.html" target="_blank">2</a>
<a href="http://www.site.ru/content/Al7/0/1/4Uypg2l.html" target="_blank">3</a>
|
Так вот нужно чтобы картинка переименовывалось в свое число, я их выделил жирным. | |
|
|
|
|
|
|
|
для: JIEXA
(04.09.2005 в 17:53)
| | Если номера в ссылках уникальны, то можно преобразовать чуть-чуть скрипт
<?php
$text = file_get_contents("http://www.site.ru/gdz/Al7/0/");
// Ищем начало вхождения таблицы
$pos_begin = strpos($text,'<b>Номер задания</b></td></tr><tr align="center">');
$text = substr($text,$pos_begin);
// Ищем конец таблицы
$pos_end = strpos($text,'<td class="txt" width="500" colspan="1"><b>СТРАНИЦА:</b>');
$text2 = substr($text, 0, $pos_end + 14);
preg_match_all("|href=([^>]+)>([^<]+)<|i",$text2, $out, PREG_PATTERN_ORDER);
for($i = 0; $i < count($out[1]); $i++)
{
$href = str_replace("\" target=\"_blank\"", "", $out[1][$i]);
$href = str_replace("\"", "", $href);
$href = str_replace(".html", ".jpg", $href);
$link[$out[2][$i]] = $href;
}
?>
|
Таким образом, мы получаем массив $link, в котором в качестве ключа выступает имя ссылки, а в качестве значения адрес, который следует загрузить.
Далее можно загрузить и сохранить изображения на хости следующим образом
<?php
foreach($link as $filename => $url)
{
$content = file_get_contents($url);
$fd = fopen("img/".$filename.".gif","w");
fwrite($fd,$content);
fclose($fd);
}
?>
|
| |
|
|
|