Jens_olaf Skrevet 10. mars 2009 Del Skrevet 10. mars 2009 Hei. Jeg vil hente ut informasjon fra en annen nettside, og tenkte da å benytte iframe. Problemet er at jeg får med en del tekst og noen linker jeg helst ikke vil ha med. Går det an å "kutte av" toppen og evt. bunn av iframen (ikke regulere høyde, men regelrett kutte av innholdet) ? Jeg har forsøkt å sette iframe-tagen inne i en <div>, og sette høye på den, men det gikk heller ikke. Forslag? Finnes det eventuelt alternativer til iframe, gjerne i PHP, som fikser dette? Takk! Lenke til kommentar
mikk- Skrevet 10. mars 2009 Del Skrevet 10. mars 2009 Nei, det går ikke an med en iframe. I et serversidespråk som PHP, kunne du ha lastet inn koden til den eksterne siden, også behandlet denne (dvs hentet ut de dataene du er interessert i). Dette kan gjøres med ulike regex-funksjoner og funksjoner som explode(). Lenke til kommentar
Jens_olaf Skrevet 11. mars 2009 Forfatter Del Skrevet 11. mars 2009 Nei, det går ikke an med en iframe. I et serversidespråk som PHP, kunne du ha lastet inn koden til den eksterne siden, også behandlet denne (dvs hentet ut de dataene du er interessert i). Dette kan gjøres med ulike regex-funksjoner og funksjoner som explode(). Takk for svaret! Er det avansert å lage et php-skript som gjør dette, da? Jeg vil ikke si jeg er HELT nybegynner på php, men jeg har ikke veldig mye kunnskaper heller - vil jeg da kunne få til å lage et slikt skript ved google som hjelp? Lenke til kommentar
mikk- Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 Vil tro du skjønner tegninga relativt fort. Du kan dra inn koden fra en fil over HTTP med file_get_contents(): <?php $code = file_get_contents('http://dagbladet.no/'); ?> Deretter kan du splitte opp denne strengen ($code) via funksjoner som preg_match og preg_match_all, eller explode. Explode splitter bare strengen når den kommer til et delimeter, altså kan du feks splitte strengen "453-4-342-555-3" på alle bindestrekene for å få de forskjellige tallene i et array: 453, 4, 342, ... . Les mer om regular expressions (regex) som brukes i funksjoner som preg_match feks her. Lenke til kommentar
Jens_olaf Skrevet 11. mars 2009 Forfatter Del Skrevet 11. mars 2009 Takk for hjelpen så langt! Jeg har nå kodet det så langt at jeg har fått inn informasjonen på siden min, inklusive den informasjonen jeg vil fjerne. Jeg får også til å bruke explode(), men jeg finner ikke et godt punkt å dele stringen på. Dette er koden jeg vil hente ut informasjon fra: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="no"> <head> <title>Norsk Tipping</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="/gar/miscellaneous/charity/cha_common.css" /> <script type="text/javascript" src="/gar/common/jquery.js"></script> <script type="text/javascript" src="/gar/common/com_utility.js"></script> <script type="text/javascript" src="/gar/miscellaneous/charity/cha_common.js"></script> <script type="text/javascript"> <!-- var CHA_FROM_DATE = 0; var CHA_TO_DATE = 1; var CHA_AMOUNT = 2; var CHA_PLAYER_COUNT = 3; var cha_periods = [['To 01.01.2009', 'Sø 31.05.2009', '5 018,-', 60]]; function cha_getPeriods() { var o, p, i; o = new Array(); p = 0; if(cha_periods.length > 0){ o[p++] = '<table><tbody><tr><td class="stat-header">Fra</td><td class="stat-header">Til</td><td class="stat-header">Beløp</td><td class="stat-header">Antall spillere</td></tr>'; for(i = 0; i < cha_periods.length; i++) { o[p++] = '<tr><td>'; o[p++] = cha_periods[i][CHA_FROM_DATE]; o[p++] = '</td><td>'; o[p++] = cha_periods[i][CHA_TO_DATE]; o[p++] = '</td><td>'; o[p++] = cha_periods[i][CHA_AMOUNT]; o[p++] = '</td><td style="text-align: center">'; o[p++] = String(cha_periods[i][CHA_PLAYER_COUNT]); o[p++] = '</tr>'; } o[p++] = '</tbody></table>'; }else{ o[p++] = '<table><tbody><tr><td class="stat-message">'; o[p++] = 'Det finnes ingen tilgjengelig statistikk på valgt grasrotmottaker.'; o[p++] = '</td></tr></tbody></table>'; } return o.join(''); } $(document).ready( function() { $('#returnButton').hover( function () { $("#return1").hide(); $("#return2").show(); }, function (){ $("#return2").hide(); $("#return1").show(); }); }); // --> </script> </head> <body onload="cha_initialise();"> <div class="frame"><div id="content" class="content" style="height: 300px;"><table class="content-columns" cellspacing="0" cellpadding="0"><tbody><tr><td id="column0" class="column-0"> <h1>NORDRE HOLSNØY IDRETTSLAG</h1> <table> <tr> <td> Organisasjonsnummer: </td> <td> 993569682 </td> </tr> <tr> <td> Adresse: </td> <td> Levegen 125 </td> </tr> <tr> <td> Postnummer: </td> <td> 5917 </td> </tr> <tr> <td> Poststed: </td> <td> ROSSLAND </td> </tr> </table> <p> Statistikken viser totalt opptjente grasrotmidler og antall spillere tilknyttet NORDRE HOLSNØY IDRETTSLAG og er i inneværende periode oppdatert pr forrige virkedag. For allerede avsluttende perioder viser statistikken status ved periodens utløp. </p> <script type="text/javascript"> <!-- document.writeln(cha_getPeriods()); // --> </script> </td><td><div class="about"><h3>Hva er grasrotandelen?</h3><ul><li>Spilleren kan bestemme at en del av overskuddet til Norsk Tipping kan gå direkte til "sitt" lag / forening</li><li>Krever at grasrotmottaker er registrert i frivillighetsregisteret</li><li>Spilleren kan til enhver tid støtte en grasrotmottaker</li><li>Grasrotmottaker kan byttes når spilleren ønsker det</li><li>Spilleren må ha Norsk Tipping Spillerkort for å delta</li></ul></div></td></tr></tbody></table></div></div><div id="header" class="header"> <form action="#"> <div> <span id="returnButton"> <img id="return1" width="151" height="25" src="/gar/miscellaneous/charity/images/return_1.gif" alt="Tilbake" onclick="document.location = '/gar/miscellaneous/charity/cha_select.jsp?mode=2&';" style="cursor: pointer" /> <img id="return2" width="151" height="25" src="/gar/miscellaneous/charity/images/return_2.gif" alt="Tilbake" onclick="document.location = '/gar/miscellaneous/charity/cha_select.jsp?mode=2&';" style="cursor: pointer; display: none;" /> </span> </div> </form> </div><div class="logo"><img src="/gar/miscellaneous/charity/images/logo.png" width="240" height="40" alt="" /></div> </body> </html> Jeg vil bare hente ut noen få linjer der, sannsynligvis blir de hentet fra javascriptet i headeren. Idèer til hva jeg skal bruke i explode("HER!", $string) ? Lenke til kommentar
RulleRimfrost Skrevet 12. mars 2009 Del Skrevet 12. mars 2009 Mulig det er preg_grep du trenger? http://php.about.com/od/advancedphp/ss/php_preg.htm Lenke til kommentar
Jens_olaf Skrevet 14. mars 2009 Forfatter Del Skrevet 14. mars 2009 Takker Jeg klarte det nå, selv om det muligens ble litt tungvint. Igjen takk for all hjelp, begge to:) Lenke til kommentar
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å