Just nu i M3-nätverket
Gå till innehåll

Hämta och ändra HTMLsida


P3tter

Rekommendera Poster

Hej, snabb fråga, kan PHP hmäta en extern htmlsida manipulera koden och "skicka den vidare"???

 

Eller vad för språk måste jag köra?

 

Petter

Länk till kommentar
Dela på andra webbplatser

Nånting sånt här läser av en sida:

$fp = @fopen($externurl,"r");
if(!$fp)
while (!@feof ($fp))
{
$dataread.= @fgets($fp, 4096);
}
@fclose($fp);

 

"Skicka den vidare" vet jag inte vad menar ?

 

Du kan inte typ läsa av www.aftonbladet.se, ändra i den och sedan skriva tillbaka den till www.aftonbladet.se. :)

 

/TN

 

[inlägget ändrat 2002-10-30 13:45:08 av Don Tomas]

Länk till kommentar
Dela på andra webbplatser

Du kan inte typ läsa av www.aftonbladet.se, ändra i den och sedan skriva tillbaka den till www.aftonbladet.se. :)

 

Va? Kan man inte? De var dåååligt!! ;)

 

Länk till kommentar
Dela på andra webbplatser

Nej, men man kan ju skriva om hela designen, så att man kan lägga upp den själv, med precis samma nyheter, men sitt eget märke.

 

Visst går det, men det är något krångligt, och inte direkt något för nybörjare. Man måste nämligen använda sig av reguljära uttryck, vilket kan ta ett tag att sätta sig in i, men är förhållandevis enkelt sedan.

 

Normalt brukar jag hjälpa till när det är någon som behöver bygga ett sådant uttryck, men i detta fall befarar jag att alldeles för många olika måste skapas...

 

Länk till kommentar
Dela på andra webbplatser

Har fått i uppgift att göra ett svenskt "skal" men med länkar till den utrikiska sidan, måste dock "ta bort" översta halvan på varje utrikisk sida...

och fixa i länkarna..

 

P

 

Länk till kommentar
Dela på andra webbplatser

Om jag kan få reda på vilken sida det är så ska jag se vad jag kan göra... Svårt om man inte har något att gå efter.

 

Tänk också på en sak, nämligen att om de gör minsta ändringen på min hemsida, så måste du i princip koda om det från början, vilket är ganska mycket jobb...

 

Länk till kommentar
Dela på andra webbplatser

Eftersom diskussionen iaf är inne på reguljära uttryck osv så kan någon gärna formulera ett sätt så att användare inte kan inkludera någon form av HTML, JavaScript eller liknande kod i en textsträng. Olika inlägg lagras i en databas och det vore bra om kod från användaren inte hängde med.

 

Länk till kommentar
Dela på andra webbplatser

Eeeh, just det! självklart, jag klippte lite från ett tidigare inlägg jag gjort och där klippte jag bort felmeddelandet.

4096 är väl antal bytes/tecken som fgets ska försöka läsa.

 

Innan min kodsnutt, kan du lägga in

$dataread = "";
flush();

 

/TN

 

Länk till kommentar
Dela på andra webbplatser

Du har ju PHPs färdiga funktion strip_tags() som tar bort alla <taggar>. Innehållet i <script> blir dock endast text, och om du vill ta bort även den får du först köra ett reguljärt uttryck. Ett utmärkt exempel finns i PHP-dokumentationen:

$search = array ("'<script[^>]*?>.*?</script>'si",  // Strip out javascript
                "'<[\/\!]*?[^<>]*?>'si",           // Strip out html tags
                "'([\r\n])[\s]+'",                 // Strip out white space
                "'&(quot|#34);'i",                 // Replace html entities
                "'&(amp|#38);'i",
                "'&(lt|#60);'i",
                "'&(gt|#62);'i",
                "'&(nbsp|#160);'i",
                "'&(iexcl|#161);'i",
                "'&(cent|#162);'i",
                "'&(pound|#163);'i",
                "'&(copy|#169);'i",
                "'&#(\d+);'e");                    // evaluate as php

$replace = array ("",
                 "",
                 "\\1",
                 "\"",
                 "&",
                 "<",
                 ">",
                 " ",
                 chr(161),
                 chr(162),
                 chr(163),
                 chr(169),
                 "chr(\\1)");

$text = preg_replace ($search, $replace, $document);

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...