Вот это работает. Беру все ссылки со страницы и разношу их по одной на свои вновь созданные страницы. PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); $n=file_get_contents('http://хороший сайт/Rick%20Wakeman.html'); preg_match_all('/<a href="[^#]+?<\/a>/si',$n,$matches); $i=1; foreach($matches[0] as $value) { file_put_contents("$i.html",$value); $i++; echo $value; echo '<br>'; } ?> А вот здесь хочу взять контент каждой ссылки (тега <a>) и разложить по своим страницам. Допускаю ошибку. Не правильно беру контент тега а. Научите. PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); $n=file_get_contents('http://хороший сайт.com/Rick%20Wakeman.html'); preg_match_all('/<a href="[^#]+?<\/a>/si',$n,$matches); $i=1; foreach($matches[0] as $value) { $get=file_get_contents($value); file_put_contents("$i.html",$get); $i++; echo $value; } ?>
Вот. Но все равно наверно безграмотно выдает ошибки хотя и создает корректные страницы. PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); $n=file_get_contents('http://лучший сайт/Rick%20Wakeman.html'); preg_match_all('/<a href=\"([^#]+?)\".+?<\/a>/si',$n,$matches); $i=1; foreach($matches[1] as $value) { $get=file_get_contents("http://лучший сайт/$value"); file_put_contents("$i.html",$get); $i++; echo $value; } ?>
Удалось немного подперчил код. а именно: корректировка регулярки, чтобы не хватал почтовый ящик, после чего возникает сообщение об ошибке и применил полезную функцию rawurlencode. Так как сами ссылки имели пробелы между словами и надо было их заполнить (%) с последующими двумя 16-ричными цифрами. Функция справилась на ура. И контент взят. Кстати а как в итерациях вместо $i++ (т.е не привязывать вновь полученный контент к цифрам в назаваниях файлов а копировать файлы по названиям ссылок. Наверно регуляркой или функцией разбора урлов + обратное rawurldecode. Я правильно понимаю ??? Чиркните пару строк. Мжет код можно легко улучшить например выставить время обработки и прочее..мм ?? PHP: <?php ini_set('display_errors',1); error_reporting(E_ALL); $n=file_get_contents('http://хороший сайт/Rick%20Wakeman.html'); preg_match_all('/<a href=\"(?!mailto:)([^#]+?)\".+?<\/a>/si',$n,$matches); print_r($matches[1]); $i=1; foreach($matches[1] as $value) { $new=rawurlencode($value); $get=file_get_contents("http://хороший сайт/$new"); file_put_contents("$i.html",$get); $i++; echo $value; echo '<br>'; } ?>