/ 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 "synlig" del af html-fil som ren tek~
Fra : Lester


Dato : 17-12-04 20:18

Jeg har brug for at indlæse en fil, f.eks.

http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=F,MSFT,DE

og arbejde videre med informationerne på siden. Dertil kan jeg bruge

<?php
$MSN="http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=";
$QSymbols="F,MSFT,DE";
$QStr="$MSN"."$QSymbols";
$lines = file ($QStr);
?>

Men det er langsommeligt og besværligt at trække informationerne ud
bagefter (f.eks "Deere & Company" for DE) . Hvordan kan jeg hente de
linier, der er synlige i webbrowseren - og kun dem?

Flemse

 
 
S›ren Vrist (18-12-2004)
Kommentar
Fra : S›ren Vrist


Dato : 18-12-04 16:52

Lester wrote:
> Jeg har brug for at indlæse en fil, f.eks.
>
> http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=F,MSFT,DE
>
> og arbejde videre med informationerne på siden. Dertil kan jeg bruge
>
> <?php
> $MSN="http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=";
> $QSymbols="F,MSFT,DE";
> $QStr="$MSN"."$QSymbols";
> $lines = file ($QStr);
> ?>
> Men det er langsommeligt og besværligt at trække informationerne ud
> bagefter (f.eks "Deere & Company" for DE) . Hvordan kan jeg hente de
> linier, der er synlige i webbrowseren - og kun dem?

Jeg har lavet en opgave engang hvor vi skulle lave lixtal på html sider.
Vi løste problemet med synligtekst ved at lave en slags "lexer" til
html, som smed tags væk osv.

Vi splittede teksten ved < og ved >
og løb så det array igennem
Først må der nødvendigvis kommer et <html> et eller andet, så første
entry i arrayet må nødvendigvis være et TAG.
Her er det nødvendigt at split funktionen returnerer tom streng hvis der
kommer 2 split symboler efter hinanden, f.eks. <html><head> hvist det
bliver til
[0] => html
[1] => ""
[2] => head
osv. ligger resten nemlig lige til:

Hvis man ved den starter med et tag må næste post i arrayet nødvendigvis
være tekst, derefter kommer et tag og så tekst igen.
og TAAADDAAAA
Man har delt teksten op i tags, og det der ligger mellem tags.
<head> </head> delen skal ikke bruges til noget, så man kan vælge at
smide de første TAG/TEKST dele væk indtil man kommer til body tagget.
Derefter kan man så gå løs på informationerne

Gad vide om php har noget parsning af html, ligesom man kan parse xml?

mvh.
Søren Vrist

Leonard (18-12-2004)
Kommentar
Fra : Leonard


Dato : 18-12-04 17:00

S?ren Vrist <seet@forgot.dk> wrote:

>Man har delt teksten op i tags, og det der ligger mellem tags.

Mon ikke man kan bruge strip_tags til noget lignende?
http://dk.php.net/manual/en/function.strip-tags.php

--
med venlig hilsen
Leonard - http://leonard.dk/

Ukendt (19-12-2004)
Kommentar
Fra : Ukendt


Dato : 19-12-04 19:34

Tak, det hjalp kraftigt kun at hente linier med tags, og så bruge
strip_tags() på dem.

Flemse
_

On Sat, 18 Dec 2004 17:00:25 +0100, Leonard <nospam@invalid.invalid>
wrote:

>S?ren Vrist <seet@forgot.dk> wrote:
>
>>Man har delt teksten op i tags, og det der ligger mellem tags.
>
>Mon ikke man kan bruge strip_tags til noget lignende?
>http://dk.php.net/manual/en/function.strip-tags.php


Thomas Lindgaard (19-12-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 19-12-04 22:48

On Sun, 19 Dec 2004 13:33:48 -0500, wrote:

> det hjalp kraftigt kun at hente linier med tags

Hvudden nøjes man med at hente linier med tags?

--
Mvh.
/Thomas


Ukendt (20-12-2004)
Kommentar
Fra : Ukendt


Dato : 20-12-04 00:47

Ved kun at kopiere strenge, der ikke indeholder "<", til det endelige
array.

Det virker ok lokalt, men efter upload til B-One får jeg fejl.
Arbejdskopi på http://klynder.com/test/ntips.php

http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=F,MSFT,HANS,.QLCAF,GS,SIRI,,
virker osse fint i min browser.

Hvad gør jeg forkert??


On Sun, 19 Dec 2004 22:47:39 +0100, Thomas Lindgaard
<thomas@it-snedkeren.BLACK_HOLE.dk> wrote:

>On Sun, 19 Dec 2004 13:33:48 -0500, wrote:
>
>> det hjalp kraftigt kun at hente linier med tags
>
>Hvudden nøjes man med at hente linier med tags?


Thomas Lindgaard (20-12-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 20-12-04 12:45

On Sun, 19 Dec 2004 18:47:11 -0500, wrote:

> Ved kun at kopiere strenge, der ikke indeholder "<", til det endelige
> array.

Det virker som en ret grovkornet metode... hvad gør du f.eks. ved
følgende linie:

Hej, jeg hedder <strong>Thomas</strong>

> Det virker ok lokalt, men efter upload til B-One får jeg fejl.
> Arbejdskopi på http://klynder.com/test/ntips.php
>
> http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=F,MSFT,HANS,.QLCAF,GS,SIRI,,
> virker osse fint i min browser.
>
> Hvad gør jeg forkert??

B-One har lukket for fopen-wrappers, så du kan ikke åbne "eksterne"
filer fra dit web-hotel. Dvs. fopen, file, file_get_contents (m.fl.?) kan
ikke bruges til at hente sider på andre serveren med - kun til filer der
ligger lokalt på serveren.

--
Mvh.
/Thomas


Ukendt (20-12-2004)
Kommentar
Fra : Ukendt


Dato : 20-12-04 16:12

Rigtigt, det virker stort set kun i dette tilfælde.
Hvis det skal være generelt, er Søren's oplæg vel glimrende.

On Mon, 20 Dec 2004 12:45:09 +0100, Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> wrote:

>On Sun, 19 Dec 2004 18:47:11 -0500, wrote:
>
>> Ved kun at kopiere strenge, der ikke indeholder "<", til det endelige
>> array.
>
>Det virker som en ret grovkornet metode... hvad gør du f.eks. ved
>følgende linie:
>
> Hej, jeg hedder <strong>Thomas</strong>
>
>> Det virker ok lokalt, men efter upload til B-One får jeg fejl.
>> Arbejdskopi på http://klynder.com/test/ntips.php
>>
>> http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=F,MSFT,HANS,.QLCAF,GS,SIRI,,
>> virker osse fint i min browser.
>>
>> Hvad gør jeg forkert??
>
>B-One har lukket for fopen-wrappers, så du kan ikke åbne "eksterne"
>filer fra dit web-hotel. Dvs. fopen, file, file_get_contents (m.fl.?) kan
>ikke bruges til at hente sider på andre serveren med - kun til filer der
>ligger lokalt på serveren.


news.inet.tele.dk (20-12-2004)
Kommentar
Fra : news.inet.tele.dk


Dato : 20-12-04 17:22

"Flemse" wrote in message news:cpqds0t4hdu6sp6feoics0pslsrgi9gcpk@4ax.com...
> Rigtigt, det virker stort set kun i dette tilfælde.
> Hvis det skal være generelt, er Søren's oplæg vel glimrende.

Jeg hælder nu mere til striptags() som Leonard foreslår, omend den ikke
altid fjerner alt HTML.

--
Mvh.
/Thomas



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408942
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste