WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP html parsing (https://www.wn.se/forum/showthread.php?t=37170)

spider 2009-06-01 20:09

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!

Jimpsson 2009-06-01 20:31

http://simplehtmldom.sourceforge.net/
Har jag använt till just sånt här förut.

KarlRoos 2009-06-01 20:45

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 :)

hnn 2009-06-01 23:19

se.php.net/simplexml

greenio.se 2009-06-01 23:29

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.


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

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