Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP file_get_contents

Sivun loppuun

JimProfit [13.12.2013 13:55:37]

#

MOi

Mun pitäsi kerätä toiselta nettisivulta tietoa omille sivuille. Käytän tässä tapauksessa php file_get_contents -funktiota.

Esimerkkisivut miltä tietoa kerätään (http://www.testiabx.fi) sisältö alla:

A
B
C

<?php
        $xx = file_get_contents('http://www.testiabx.fi');
		echo $xx;
	?>

Ylläoleva koodi tuo nyt kaiken sisällön nettisivuilleni. Mutta haluaisin tuoda vain tuon kirjaimen: B.
Kuinka minun kannattaisi käsitellä tuota sisältöä, jotta saisin poimittua sivuilleni vain tuon kirjaimen B, hakemisen jälkeen vai miten?

Merri [13.12.2013 13:58:49]

#

Onko explode() tuttu?

JimProfit [13.12.2013 14:00:05]

#

Ei explode() ole tuttu, olisko sulla jotain esimerkki koodia tuohon mun ongelmaan. Olen hyvin aloittelija tämän asian suhteen vielä.

The Alchemist [13.12.2013 14:05:07]

#

Merri kyllä linkkasi explode-funktion dokumentaatioon, joten voit lukea sen käytöstä suoraan virallisesta lähteestä.

Grez [13.12.2013 14:10:52]

#

Siis mitä itse asiassa haluat? Saada monirivisestä tiedosta 2. rivin? Saada rivin A-rivin jälkeen? Rivin ennen C-riviä? Tuskin kuitenkaan sitä mitä kysyit, eli:

$muuttuja = 'B';

Sitten pitäisi tietää millä tavalla rivivaihdot on ladatussa sivussa. Ne voisi olla esim "\r\n", "\n", "<br>", "<br>\r\n" tai jotain muuta.

Jos nyt oletetaan että rivivaihtona on "\r\n" ja haluat toisen rivin niin esim:

<?php
        $xx = file_get_contents('http://www.testiabx.fi');
        $palat = explode("\r\n", $xx, 3);
        $toinen = $palat[1];
?>

JimProfit [13.12.2013 14:21:06]

#

Onko tuohon B kirjaimen poimintaan mitään muuta vaihtoehtoa, kuten sellaista jolla vertaan löytyykö sivulta merkkiä B ja silloin kun lötyy, se vain näytetään omilla sivuillani?

Teuro [13.12.2013 14:37:06]

#

Lataat koko sivun stringinä sisään ja luet merkki kerrallaan kunnes vastan tulee 'B' tai tiedosto loppuu?

<?php

$xx = file_get_contents('http://www.testiabx.fi');
$xy = explode(" ", $xx);

if (in_array("B", $xy)) {
    echo "Oli siellä B";
} else {
    echo "Ei ole B:ä";
}

Grez [13.12.2013 14:44:42]

#

JimProfit kirjoitti:

Onko tuohon B kirjaimen poimintaan mitään muuta vaihtoehtoa, kuten sellaista jolla vertaan löytyykö sivulta merkkiä B ja silloin kun lötyy, se vain näytetään omilla sivuillani?

No vaikkapa:

$sivu = file_get_contents('http://www.testiabx.fi');
if (strpos($sivu,'B') !== false) {
    echo 'B';
}

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta