Привет Я пытаюсь реализовать сценарий скрипинга экрана на своем веб-сайте и до сих пор имеет следующий набор. То, что я в конечном счете пытаюсь сделать, это заменить все ссылки в переменной $ results, имеющей «ResultsDetails.aspx?». на "results-scrape-details /", затем выводятся снова. Может кто-то указать мне верное направление?Экран Скребок
<?php
$url = "http://mysite:90/Testing/label/stuff/ResultsIndex.aspx";
$raw = file_get_contents($url);
$newlines = array("\t","\n","\r","\x20\x20","\0","\x0B");
$content = str_replace($newlines, "", html_entity_decode($raw));
$start = strpos($content,"<div id='pageBack'");
$end = strpos($content,'</body>',$start) + 6;
$results = substr($content,$start,$end-$start);
$pattern = 'ResultsDetails.aspx?';
$replacement = 'results-scrape-details/';
preg_replace($pattern, $replacement, $results);
echo $results;
быстрее, чем мне - удаление мой ответ. Хотя я буду замечать, что он может захотеть использовать '-> find ('a [href * = ...');' который означает «содержит», а не «начинается с» в зависимости от того, где эта строка отображается в значении HREF. Кроме того, нет метода -> externalhtml, только внешний текст (я исправил в вашем примере) – Erik
Упс, слишком рано утром, спасибо за редактирование :-) –
Это заменит ссылки только на нефиксированные относительные URL жестко закодированные. – symcbean