/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hente tekst fra tekst fra anden side !
Fra : Søren Golf


Dato : 05-11-02 17:52

Davs alle,

Jeg er i gang med de første blide skridt til at bygge mine første
php sider, og er derfor ikke helt klar over, hvad man kan og ikke
kan.

Er det muligt fra følgende url at hente den nævnte pris ned på
egen side som en variabel.
(Skal bruges til pris sammenligning med andre boghandler)

<a
href="http://www.amazon.co.uk/exec/obidos/ASIN/063119715X/qucdkbo
ok-21/026-3510231-9168422">Amazon.co.uk</a>

Håber det er muligt !
(Lærte det den anden dag, hvis siden var en tekstfil, men det er
en html side)

På forhånd tak

Søren Golf


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Niels Andersen (06-11-2002)
Kommentar
Fra : Niels Andersen


Dato : 06-11-02 08:10

Søren Golf wrote in <aq8svb$2qq$1@sunsite.dk>:
> Er det muligt fra følgende url at hente den nævnte pris ned på
> egen side som en variabel.

Yeps.

> (Lærte det den anden dag, hvis siden var en tekstfil, men det er
> en html side)

Så behøver jeg ikke forklare dig hvordan, du ved det nok allerede.
En HTML-fil er jo bare en tekstfil...

Spørgsmålet er så om det du lærte, var til en bestemt tekstfil, eller til
tekstfiler generelt. :)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Søren Golf (06-11-2002)
Kommentar
Fra : Søren Golf


Dato : 06-11-02 10:56

Niels Andersen wrote in dk.edb.internet.webdesign.serverside.php:
> Søren Golf wrote in <aq8svb$2qq$1@sunsite.dk>:
> > Er det muligt fra følgende url at hente den nævnte pris ned på
> > egen side som en variabel.
>
> Yeps.
>
> > (Lærte det den anden dag, hvis siden var en tekstfil, men det er
> > en html side)
>
> Så behøver jeg ikke forklare dig hvordan, du ved det nok allerede.
> En HTML-fil er jo bare en tekstfil...
>
> Spørgsmålet er så om det du lærte, var til en bestemt tekstfil, eller til
> tekstfiler generelt. :)
>
> --
> Mvh.
>
> Niels Andersen
> (la nels. anersyn.)


Ja, men hvordan gør man så... jeg er altså meget nybegynder mht php(Det jeg
lærte den anden dag var tekstfil med en linie, hvor alle ord var opdelt med
et bestemt tegn)

MVH

Søren Golf

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Thomas Lindgaard (06-11-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 06-11-02 16:08

Søren Golf <quctraffic@hotmaail.com> wrote in
news:aqaouv$qmj$1@sunsite.dk:

> Ja, men hvordan g›r man s†... jeg er alts† meget nybegynder mht
> php(Det jeg l‘rte den anden dag var tekstfil med en linie, hvor alle
> ord var opdelt med et bestemt tegn)

Davs

Det du legede med den anden dag var en pænt formatteret tekstfil - en
vilkårlig internetside er en anden sag at trække informationer ud af...

Følgende kode kan finde prisen - MEN den bygger på en række antagelser:
1) Prisen er skrevet med følgende format: &pound;xx.xx (hvor xx er et tal
mellem 0 og mange).
2) Der står kun een pris på siden (hvis der står flere så vil de alle
blive
fundet men så er det ikke længere en entydig værdi man får ud).

<?php

   $amazon = implode("", file
("http://www.amazon.co.uk/exec/obidos/ASIN/063119715X/qucdkbo/026-
4458502-0014038"));
   preg_match_all("/\&pound;([0-9]+\.[0-9]+)/", $amazon, $matches);
   print_r($matches);
   echo "<p>".$matches[1][0];

?>

Første linie henter siden fra Amazon.co.uk.

Anden linie finder alle steder hvor der står noget som passer til
beskrivelsen

"et pund-symbol skrevet på HTML'sk efterfulgt af mindst et ciffer
efterfulgt af et punktum efterfulgt af mindst et ciffer"

De stykker tekst som passer på beskrivelsen bliver lagt i $matches-
arrayet (som bliver skrevet ud i linie tre). Prisen bliver pillet ud for
sig selv (uden &pound;) og lagt i $matches[1][0].

.... men jeg siger det lige igen: Koden bygger på nogle antagelser, som du
langt fra kan være sikker på vil være opfyldt altid.

God fornøjelse med PHP'en :)
/Thomas

Søren Golf (06-11-2002)
Kommentar
Fra : Søren Golf


Dato : 06-11-02 16:50

Tak Thomas,

Det virker umiddelbart, men som sagt skal man være varsom, da det ikke gælder
på alle sider, hvortil jeg har endnu et spørgsmål:

Kan søge efter et format der hedder "Our price £xx.xx" i stedet for bare
"£xx.xx", det vil nemlig gøre det mere sikkert...

Jeg har prøvet følgende kode:
<?php

$amazon = implode("", file
("http://www.amazon.co.uk/exec/obidos/ASIN/0198268599/qucdkbook-21/202-750414
6-6759065"));
preg_match_all("/\Our price: &pound;([0-9]+\.[0-9]+)/", $amazon, $matches);
echo "<p>".$matches[1][0];

?>

....men det virker ikke, jeg gør tydeligvis et eller andet forkert ved blot
at skrive Our price: ind foran det andet...

Jeg håber at du har mulighed for at hjælpe en nybegynder endnu engang...

MVH

Søren Golf

Thomas Lindgaard wrote in dk.edb.internet.webdesign.serverside.php:
> Davs
>
> Det du legede med den anden dag var en pænt formatteret tekstfil - en
> vilkårlig internetside er en anden sag at trække informationer ud af...
>
> Følgende kode kan finde prisen - MEN den bygger på en række antagelser:
> 1) Prisen er skrevet med følgende format: £xx.xx (hvor xx er et tal
> mellem 0 og mange).
> 2) Der står kun een pris på siden (hvis der står flere så vil de alle
> blive
> fundet men så er det ikke længere en entydig værdi man får ud).
>
> <?php
>
>    $amazon = implode("", file
> ("http://www.amazon.co.uk/exec/obidos/ASIN/063119715X/qucdkbo/026-
> 4458502-0014038"));
>    preg_match_all("/\£([0-9]+\.[0-9]+)/", $amazon, $matches);
>    print_r($matches);
>    echo "<p>".$matches[1][0];
>
> ?>
>
> Første linie henter siden fra Amazon.co.uk.
>
> Anden linie finder alle steder hvor der står noget som passer til
> beskrivelsen
>
> "et pund-symbol skrevet på HTML'sk efterfulgt af mindst et ciffer
> efterfulgt af et punktum efterfulgt af mindst et ciffer"
>
> De stykker tekst som passer på beskrivelsen bliver lagt i $matches-
> arrayet (som bliver skrevet ud i linie tre). Prisen bliver pillet ud for
> sig selv (uden £) og lagt i $matches[1][0].
>
> .... men jeg siger det lige igen: Koden bygger på nogle antagelser, som du
> langt fra kan være sikker på vil være opfyldt altid.
>
> God fornøjelse med PHP'en :)
> /Thomas


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Niels Andersen (06-11-2002)
Kommentar
Fra : Niels Andersen


Dato : 06-11-02 20:07

Søren Golf wrote in <aqbdnu$g3$1@sunsite.dk>:
>> preg_match_all("/\&pound;([0-9]+\.[0-9]+)/", $amazon, $matches);
(quote-fejl rettet)
> preg_match_all("/\Our price: &pound;([0-9]+\.[0-9]+)/", $amazon,
> $matches); echo "<p>".$matches[1][0];
> ...men det virker ikke,

Den backslash der er foran Sørens &-tegn skal blive ved med at stå lige
foran &-tegnet.

/Our price: \&pound;([0-9]+\.[0-9]+)/

Prøv den. :)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Søg
Reklame
Statistik
Spørgsmål : 177504
Tips : 31968
Nyheder : 719565
Indlæg : 6408549
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste