Kom ihåg mig?

PHP html parsing

Ämnesverktyg Visningsalternativ
Oläst 2009-06-01, 20:09 #1
spider spider är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2006
Inlägg: 47
spider spider är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2006
Inlägg: 47
Hej,

Jag har suttit ett tag nu och försökt lista ut hur jag ska kunna få ut information från en HTML sida, har kommit en bit på vägen men har inte lyckats få ut exakt den informationen jag vill ha. Såhär ser HTML koden ut som just nu ligger i en sträng $html:

<h2>En annan rubrik</h2>


lite text om rubriken</p>

<h2>En annan rubrik</h2>


lite text om rubriken</p>

<h2>Rubriken</h2>


Den text jag är ute efter</p>


Ibland finns det fler paragrafer, jag vill ha alla till och med nästa h2 tagg. </p>

<h2>En annan rubrik</h2>


lite text om rubriken</p>


Så jag vill alltså med PHP hitta <h2>Rubriken</h2> och hämta hem informationen i

taggarna som följer, ett problem är att det kan vara olika antal h2 innan den informationen jag vill ha kommer och ibland finns den inte alls.

Hoppas vi har någon som vill/kan hjälpa mig att knäcka den här nöten!
spider är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-06-01, 20:31 #2
Jimpsson Jimpsson är inte uppkopplad
Flitig postare
 
Reg.datum: Jun 2006
Inlägg: 428
Jimpsson Jimpsson är inte uppkopplad
Flitig postare
 
Reg.datum: Jun 2006
Inlägg: 428
http://simplehtmldom.sourceforge.net/
Har jag använt till just sånt här förut.
Jimpsson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-06-01, 20:45 #3
KarlRoos KarlRoos är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2007
Inlägg: 1 416
KarlRoos KarlRoos är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2007
Inlägg: 1 416
Kod:
$html = explode('<h2>',$html);
$data = array();
$i = 0;

foreach($html as*$item)
{
$item = explode('</h2>',$item);
$data[$i][] = split('<[/]?p>', $item[0]);
$i++;
}
Detta bör fylla arrayen $data med allting som finns inom

, varje sektion i $data motsvarar en h2.

Otestat... som vanligt
KarlRoos är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-06-01, 23:19 #4
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
hnn hnn är inte uppkopplad
Banned
 
Reg.datum: Mar 2004
Inlägg: 2 587
se.php.net/simplexml
hnn är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-06-01, 23:29 #5
greenio.se greenio.se är inte uppkopplad
Medlem
 
Reg.datum: May 2009
Inlägg: 106
greenio.se greenio.se är inte uppkopplad
Medlem
 
Reg.datum: May 2009
Inlägg: 106
Citat:
Originally posted by hnn@Jun 1 2009, 23:19
se.php.net/simplexml
simplexml lär väl bugga ur om det saknas xml deklaration eller om något på sidan inte är giltig xml? eller? jag har bara använt simplexml på källor som ska vara xml, och även då kan det vara lite känsligt för fel.


Jag hade använt regexp till det här spontant, men funkar KarlRoos lösning så behöver man ju inte leta andra lösningar.
greenio.se är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017