[php] content naar xml bestand zetten vanaf andere website)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi!

Beginnend als ik ben met php ben ik nu al 2 dagen aan het proberen om nieuwslinks van www.bn.nl om te zetten naar een xml bestand.

dit werkt op een paar fouten na. Welke ik hoop via 1 commando uit te komen. Echter weet ik niet of een dergelijk commando bestaat.

De link naar het bestand is http://www.dijksma.net/cron/bn.php

Variabel $line bevat steeds de volgende gegevens

code:
1
2
3
4
5
6
7
8
9
<item>
  S%7C94ab1338929a95aa%7CN%7C2%2C2 
<link>http://www.bnrfm.nl/ShowNieuwsArtikel.asp?Context=&src=hfd&id=133797</link> 
  S%7C94ab1338929a95aa%7CN%7C2%2C2 
<link>http://www.bnrfm.nl/ShowNieuwsArtikel.asp?Context=&src=hfd&id=133797</link> 
  22:15 
<title>Wall Street: indices verdeeld over de eindstreep</title> 
</item>
Wall Street: indices verdeeld over de


Nu vraag ik me af of je de regels in kan delen voor lijn 1 $lijn1 etc...
en later dus print "$line1 (1,3,7,8)

dan heb ik precies alle info die ik moet hebben voor een geldig xml bestand.

Of kan het ook via een andere functie? enige dat ik eruit moet hebben voor mijn nieuwssysteem is de dubbele <link>...</link>
de rest maakt niet zoveel uit.

Modbreak:Threads lopen hier gewoon via het forum en niet via msn. Op die manier kan iedereen je helpen en heeft iedereen er ook wat aan.


Alvast bedankt! Indien het niet geheel duidelijk is dan voeg ik graag toe wat nodig is!

[ Voor 31% gewijzigd door Janoz op 21-10-2004 09:38 ]


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Met regular expressions zou je een heel eind moeten komen, ik heb hier laatst een post over gemaakt die hier heel erg op leek, zoek maar eens wat rond.

Acties:
  • 0 Henk 'm!

  • dev icey
  • Registratie: Augustus 2003
  • Laatst online: 22-04 11:21
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

 $string = "
  <item>
    S%7C94ab1338929a95aa%7CN%7C2%2C2
  <link>http://www.bnrfm.nl/ShowNieuwsArtikel.asp?Context=&src=hfd&id=133797</link>
    S%7C94ab1338929a95aa%7CN%7C2%2C2
  <link>http://www.bnrfm.nl/ShowNieuwsArtikel.asp?Context=&src=hfd&id=133797</link>
    22:15
  <title>Wall Street: indices verdeeld over de eindstreep</title>
  </item>
  Wall Street: indices verdeeld over de";

  $string .= "\n";

 preg_match_all("/(.*?)\\n/", $string, $matches, PREG_SET_ORDER);

 $i = 0;

 while($i < count($matches)) {
  echo $matches[$i][1]."\n";
  $i++;
 }

?>


in
code:
1
 <?php $matches[$i][1]; ?>
staan nu de regels, verander $i in regelnummer en je hebt de inhoud van de regel die je wilt hebben. Ik denk dat dit wel beetje is wat je zoekt :).

Zorg er in iedergeval voor dat er aan het eind van de string een \n staat anders wordt de laatste regel niet meegenomen. In dit scriptje heb ik daar maar op deze manier voor gezorgd:
code:
1
 <?php $string .= "\n"; ?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
bedankt voor de tip... Ik hoop dat ik er verder uit kan komen nu. Ookal wordt het nog een karwij om het oude script aan dit script te koppelen. Ik hoop dat het gaat lukken!