PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Html Code aus anderer Seite einbinden



berny
29.04.2011, 10:30
Ich suche nach einer einfachen Lösung, einen html Code aus einer anderen Seite einzubinden.
Die Aufgabe:
Es sollten alle Inhalte zwischen den Bodytags eingebunden werden.
Ebenfalls sollten allfällige scripte ausgefiltert werden.
Es sollten nur Seiten der eigenen Domain verwendet werden dürfen.

Hat jemand so ein script?

jay-ar
29.04.2011, 16:22
Hi Berny
Ich habe Dir gerade mal aus dem was ich so einsetze "zusammengezimmert".
Das Script zeigt dir den Inhalt dreier URLs einer unserer Shops an. Du musst halt die Variablen dementsprechend anpassen, ggf. mit Im/Export in Datenbanken spielen.


<?
function seiten_spider($user_agent,$url,$anfang,$ende) {
ini_set('user_agent', $user_agent);
$opts = array('socket' => array( 'timeout' => '30'));
$context = stream_context_create($opts);
$txt = file_get_contents($url, false, $context);
if ($txt != ''){
$txt = str_replace("\t","",$txt);
$txt = str_replace("\n","",$txt);
$txt = str_replace("\r","",$txt);
if (preg_match('~'.$anfang.'~', $txt)){
$pos = strpos($txt, $anfang);
if ($pos == true) $txt = substr($txt,$pos);
$pos = strpos($txt,$ende);
if ($pos == true) $txt = substr($txt,0,$pos);
$txt = str_replace('>','> ',$txt);//freizeichen hinter tag einfügen
$txt = strip_tags($txt);
$txt = preg_replace("/ +/"," ",$txt);//doppelte dreifache Freizeichen weg

}
return $txt;
}
}

$urls = Array ('Felgenkonfigurator.html', 'Felgen-Shop', 'index.php');
#Hier könnte auch eine Datenbankabfrage rein
foreach ($urls as $lfnr => $url){
//$anfang = '<div class="anfang">';
//$ende = '<div class="ende">';
$anfang = '<body >';
$ende = '<div class="boxText_inh">';
$url = 'http://www.reifen-felgen-fahrwerke-spoiler.de/'.$url;
$text = seiten_spider('Browserkennung Berny-Spider',$url,$anfang,$ende);
echo $text."\n";
## hier könnte ein INSERT INTO oder ein UPDATE in eine Datenbank stehen
}
?>


mfg und schönes WE

jay-ar

berny
29.04.2011, 19:53
Danke, werde das mal testen...