SirLeon Skrevet 3. oktober 2008 Skrevet 3. oktober 2008 Hei. Nå har jeg drevet og rotet rundt på nett i søk etter en mulighet for og hente en Text, fra en internett side, og flytte denne over på en annen internett side. Disse 2 sidene er på forskjellige domener og servere. bare så det er sagt. Jeg ønsker ikke at scriptet skal hente ut html kodene.. men bare teksten i <p> tagsene og <h> tagsene. Men jeg kan ikke si jeg klarer og finne noe som får dette til og funke helt som det skal. har klart og få til en kode som henter hele siden med html tags, men da er jeg like langt da siden ser bokstavelig talt helt screwd.. Så.. noen som har lyst og hjelpe meg litt med dette? Kan godt poste den koden jeg har allerede, sånn at den kanskje kan modifiseres f.eks. Si ifra.. og på forhånd! Takk til alle som hjelper! I bow for a skill grater than mine!
Ekko Skrevet 3. oktober 2008 Skrevet 3. oktober 2008 Kan du bruke denne? http://no2.php.net/manual/en/function.strip-tags.php Jeg ser jo fort for meg at når alle <BR> osv er borte at det kan bli rotete da også.
SirLeon Skrevet 3. oktober 2008 Forfatter Skrevet 3. oktober 2008 Okay.. den funker desverre ikke.. hehe.. Tror det er litt fordi jeg og ikke klarte og forklare meg helt for hva jeg ønsker.. så! vi prøver igjen med no bilder og koder og en grundigere forklaring! her er koden til mitt script: <?php // Copyright (c) 2006, Simon Jansson <http://www.litewebsite.com> all rights reserved. // License <http://litewebsite.com/license_BSD.html> // NOTE: testing purpose (remove the line below after successful testing) echo LiteHttp::getUrlContent('http://www.krystallkulen.no/?horoskop=4'); class LiteHttp{ function __construct(){ }// end of construct public static function getUrlContent($url){ if( !extension_loaded('curl') ){ die('You need to load/activate the cURL extension (http://www.php.net/cURL).'); } // more cURL info at <http://www.php.net/cURL> and <http://curl.haxx.se/docs/features.html> $curlHandle = curl_init(); // init curl // options curl_setopt($curlHandle, CURLOPT_URL, $url); // set the url to fetch curl_setopt($curlHandle, CURLOPT_HEADER, 0); // set headers (0 = no headers in result) curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1); // type of transfer (1 = to string) curl_setopt($curlHandle, CURLOPT_TIMEOUT, 10); // time to wait in seconds $content = curl_exec($curlHandle); // make the call curl_close($curlHandle); // close the connection return $content; } }// end of class ?> sånn ser den ut.. her er ett bilde av siden når den koden er activ: Her er ett bilde av hvordan jeg ønsker det skal se ut med scriptet aktivt.(bilde er redigert i Photoshop!) så.. er ett lite puslespill.. men jeg klarer ikke helt og få det til og bli som jeg ønsker.. så håper noen kan noe om dette og har noe forslag på hva som vil virke.. Den siden som teksten skal bli hentet fra blir og forresten oppdatert hver natt.
OISNOT Skrevet 3. oktober 2008 Skrevet 3. oktober 2008 Så lenge du ikke bare kopierer siden uten lov... <pre><?php function filter_empty_lines($var) { $var = trim($var); return !empty($var); } if (preg_match_all('/<(h|p)[^>a-zA-Z]*>.*?<\/(h|p)\d?>/', $html, $matches)) { $lines = $matches[0]; $lines = array_map('strip_tags', $lines); $lines = array_filter($lines, 'filter_empty_lines'); echo implode("\n", $lines); } else { echo "No match\n"; } ?></pre>
SirLeon Skrevet 3. oktober 2008 Forfatter Skrevet 3. oktober 2008 (endret) Hei.. da skal jeg prøve den koden der gitt.. Nei jeg har full og holdent lov.. jeg som har laget den siden jeg skal hente fra, og vi har nattevakta her på jobben som oppdaterer horoskopet hver natt.. så det har jeg lov til.. Edit: okay.. prøvd meg litt fram nå, men skjønner ikke helt om jeg skal erstatte den andre php koden, eller om jeg skal legge denne til. og hvordan jeg skal gjøre det.. Er ikke helt dreven på php enda.. driver og lærer.. så setter stor pris på all hjelp! Endret 3. oktober 2008 av SirLeon
OISNOT Skrevet 3. oktober 2008 Skrevet 3. oktober 2008 okay.. prøvd meg litt fram nå, men skjønner ikke helt om jeg skal erstatte den andre php koden, eller om jeg skal legge denne til. og hvordan jeg skal gjøre det.. Er ikke helt dreven på php enda.. driver og lærer.. så setter stor pris på all hjelp! $html skal inneholde siden. for en variant kan du bruke strip_tags i filter funksjonen
SirLeon Skrevet 3. oktober 2008 Forfatter Skrevet 3. oktober 2008 Okay.. noe sånt noe el? if (preg_match_all('/<(h|p)[^>a-zA-Z]*>.*?<\/(h|p)\d?>/', $html="http://www.krystallkulen.no/?horoskop=2", Den funker ikke.. hehe.. så den er i alle fall ikke riktig.. (feels like a morron!)
OISNOT Skrevet 3. oktober 2008 Skrevet 3. oktober 2008 noe slikt $html = LiteHttp::getUrlContent('http://www.krystallkulen.no/?horoskop=4');
SirLeon Skrevet 6. oktober 2008 Forfatter Skrevet 6. oktober 2008 Hei igjen. Nydelig.. nå funker den nesten optimalt! Men.. problemet nå er at all teksten lander langt ut på siden. Er det noen måte og få teksten tilbake sånn at den holder plasserer seg sånn som på siden som jeg lagde i photoshop i stede for at alt strekker seg langt utover og mesteparten av teksten kan man ikke lese? Og så ser jeg at det blir mye krøll med æøå i teksten.. vet ikke om det er mulig og få rettet på dette eller ikke? Men uten om det. Tusen takk for all hjelp. dette har hjulpet utrolig mye for en nybegynner på php!
OISNOT Skrevet 6. oktober 2008 Skrevet 6. oktober 2008 Hei igjen. Nydelig.. nå funker den nesten optimalt! Men.. problemet nå er at all teksten lander langt ut på siden. Er det noen måte og få teksten tilbake sånn at den holder plasserer seg sånn som på siden som jeg lagde i photoshop i stede for at alt strekker seg langt utover og mesteparten av teksten kan man ikke lese? Husker ikke kordan det skulle se ut. Men nå er det bare enkel formatering som gjenstår. Og så ser jeg at det blir mye krøll med æøå i teksten.. vet ikke om det er mulig og få rettet på dette eller ikke? Plasser denne linjen i headeren. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> Må kanskje lagre filen som UTF-8. Men uten om det. Tusen takk for all hjelp. dette har hjulpet utrolig mye for en nybegynner på php! np
SirLeon Skrevet 6. oktober 2008 Forfatter Skrevet 6. oktober 2008 hvis du ser på de første innleggene mine her i posten så ser du bilde av hvordan jeg ønsker at det skal se ut. hvis du vil så kan jeg godt poste ett bilde av hvordan det ser ut nå. okay.. da prøver jeg og legge inn den metaen! Hehe.. du skulle bare vist hvor takknemmelig jeg er!
OISNOT Skrevet 7. oktober 2008 Skrevet 7. oktober 2008 ? ? Nå returnerer den kun det som er i h og p taggene som du bad om i første post.
SirLeon Skrevet 7. oktober 2008 Forfatter Skrevet 7. oktober 2008 Hehe.. ja sant det. Men er det noen mulighet for og legge inn formateringer sånn at jeg kan legge inn avsnitt osv?
OISNOT Skrevet 7. oktober 2008 Skrevet 7. oktober 2008 Hehe.. ja sant det.Men er det noen mulighet for og legge inn formateringer sånn at jeg kan legge inn avsnitt osv? Linjene ligger i arrayet $lines som tekststrenger. Du kan fx echo '<p>', implode("</p><p>", $lines), '</p>'; eller foreach ($lines as $line) echo "<p>$line</p>";
SirLeon Skrevet 7. oktober 2008 Forfatter Skrevet 7. oktober 2008 Hei igjen. ja jeg prøvde og få lagt inn de kodene. men det forrandret seg ikke stort. ble litt penere bare.. hehe.. Her er ett bilde av hvordan det ser ut nå: Her er noe om hvordan jeg ønsker det skal se ut: Må bare få si at jeg setter så UTROLIG stor pris på alt du har hjulpet meg med hittil! Ett spm.. hvis jeg har div taggen til der hvor infoen på den siden jeg skal hente info fra. kan man bruke dette skriptet sånn at den BARE henter det som er inne i den div taggen, sammen med den div taggens <p>/<br>/osv.. ?
OISNOT Skrevet 7. oktober 2008 Skrevet 7. oktober 2008 (endret) Du kan også forsøke <?php $regex = '|(<h1>.*</span></p>)\s*?</div>\s*?</td>\s*?<td width="1%"> </td>|s'; $html = file_get_contents('http://www.krystallkulen.no/?horoskop=4'); if (preg_match($regex , $html, $matches)) { echo strip_tags($matches[1],'<h1><p><table><tr><td>'); } else { echo "No match\n"; } Endret 7. oktober 2008 av OISNOT
SirLeon Skrevet 8. oktober 2008 Forfatter Skrevet 8. oktober 2008 Å gud.. Den siste fungerte så bra at det skulle ikke vært lov! Tusen takk!
SirLeon Skrevet 10. desember 2008 Forfatter Skrevet 10. desember 2008 Hei igjen. OISNOT: Må bare si igjen.. Tusen takk for hjelpen med dette php scriptet. det funker som en drøm^^ Men. jeg har ett nytt lite problem/prosjekt. Vi skal lage profiler til spåerene våres på samme side som jeg har det andre scripte på. og jeg ønsker og bruke samme funksjon der og, at jeg henter personens profil tekst fra den ene siden til den andre. Har prøvd og bruke det scriptet du har fikset til meg i henhold til horoskopet, prøvd og redigere det litt her og der, men får det ikke til og fungere. får bare no match og klarer ikke helt finne ut av hvorfor det ikke funker. Scriptet der: <?php $regex = '|(<h1>.*</span></p>)\s*?</div>\s*?</td>\s*?<td width="1%"> </td>|s'; $html = file_get_contents('http://www.krystallkulen.no/?hjem&usr=136'); if (preg_match($regex , $html, $matches)) { echo strip_tags($matches[1],'<h1><p><div><table><tr><td><strong><br>'); } else { echo "No match\n"; } ?> Og adressen til en av profilene jeg skal bruke er: http://www.krystallkulen.no/?hjem&usr=136 Setter veldig stor pris på denne hjelpen. Ha en fortsatt strålende dag!
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå