Just nu i M3-nätverket
Jump to content

Hämta och ändra HTMLsida


P3tter

Recommended Posts

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

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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!! ;)

 

Link to comment
Share on other sites

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...

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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...

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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);

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...