DOM tree -> PHP object
Hallo,
Ik zit al een tijdje te zoeken op Google naar een functie die van een HTML DOM tree een PHP object kan maken. Je hebt wel een aantal standaardfuncties van PHP en XML, maar die werken nou niet echt goed...
Weet iemand daar een goed script voor?
Ik zit al een tijdje te zoeken op Google naar een functie die van een HTML DOM tree een PHP object kan maken. Je hebt wel een aantal standaardfuncties van PHP en XML, maar die werken nou niet echt goed...
Weet iemand daar een goed script voor?
Wat is er dan mis met PHP DOM of simplexml? Als het goed is is de PHP DOM implementatie vrijwel gelijk aan die van Javascript, aangezien het DOM een W3C standaard is.
Met PHP's SAX parser zou je een eigen implementatie van DOM kunnen maken. Maar ik denk niet dat ik het echt aan kan raden, alle uitzonderingen implementeren lijkt mij vrij veel werk. En of het nu echt sneller o.i.d. is...
Met PHP's SAX parser zou je een eigen implementatie van DOM kunnen maken. Maar ik denk niet dat ik het echt aan kan raden, alle uitzonderingen implementeren lijkt mij vrij veel werk. En of het nu echt sneller o.i.d. is...
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
Ik heb dat al wel gezien Jelmer, PHP DOM en SimpleXML, maar moet je nou zien wat SimpleXML van een HTML pagina maakt als ik het print met print_r:
http://zjapske.no-ip.org/domTree/simplexml.php
Dat maakt hij van de pagina:
SimpleXML laat de helft liggen lijkt het... Kijk maar naar de attributen van de p- en de a-tag, waar is de class van de p, waar de href van de a?
Verder vind ik het er niet erg mooi uit zien met SimpleXML.
http://zjapske.no-ip.org/domTree/simplexml.php
Dat maakt hij van de pagina:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html id="html" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />
<meta http-equiv="content-style-type" content="text/css" />
</head>
<body>
<div>
<p class="testClass">Testpage</p>
<p><a href="#test">T</a>estpage #1</p>
<b>Testpage #2</b>
<a>Testpage #3</a>
<p id="someID">Testpage #4</p>
<div id="test">
<b>text</b>
</div>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html id="html" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />
<meta http-equiv="content-style-type" content="text/css" />
</head>
<body>
<div>
<p class="testClass">Testpage</p>
<p><a href="#test">T</a>estpage #1</p>
<b>Testpage #2</b>
<a>Testpage #3</a>
<p id="someID">Testpage #4</p>
<div id="test">
<b>text</b>
</div>
</div>
</body>
</html>
SimpleXML laat de helft liggen lijkt het... Kijk maar naar de attributen van de p- en de a-tag, waar is de class van de p, waar de href van de a?
Verder vind ik het er niet erg mooi uit zien met SimpleXML.
Bedenk je wel dat SimpleXML hele vreemde truucjes met de PHP syntax en magic methods doet en misschien daarom print_r niet echt een tekenend beeld geeft.
Maar wat verwacht je precies? Met DOM kan je vrij gemakkelijk echt alle informatie uit een document halen, en het kan (incorrecte xml) html inlezen.
Maar wat verwacht je precies? Met DOM kan je vrij gemakkelijk echt alle informatie uit een document halen, en het kan (incorrecte xml) html inlezen.




