regulært udtryk til parsing af html
hejsa.jeg prøver at bygge et script, der kan parse html (ikke xhtml) og til det har jeg brug for at få skruet et regulært udtryk sammen, der kan splitte et tag således at jeg kan lave et array af attributes. eg :
<div align=center style="width:100px">
skal splittes op i noget a la
array {
["tagname"] => string {
"div"
}
["attributes"] => array {
["align"] => string {
"center"
}
["style"] => string {
"\"width:100px\""
}
}
}
...
jeg har ind til videre noget i den her stil :
I)
$str = "<div align=center style=\"width:100px;\">";
preg_match("/(\<)([a-zA-Z]+[\w]{1})(.*)(\>)/",$str,$match);
dette giver mig tagname i $match[1]
så har jeg leget lidt med :
II)
$str = " blah=foo foo=bar\n fook=kungfu";
preg_match("/([a-zA-Z]*[\=]{1}[\w]*)/",$str,$match);
men den virker ikke som jeg forventer, og jeg kan ikke helt greje hvorfor. hvis jeg erstatter preg_match() med preg_match_all() så får jeg tagsne, men i to arrays ?!?
nogle forslag til hvordan jeg får (II) til at virke og hvordan jeg kombinerer de to ?
