Здравствуйте!
Возникла проблема распарсить html-структуру. Приведу пример кода который удалось написать:
$a = '<span style="font-size:18px"><span style="color:#FF0000">Apollo 11 was the spaceflight that <span style="font-family:courier new,courier,monospace">landed the first humans</span></span><span style="font-family:courier new,courier,monospace">, Americans </span>Neil Armstrong and Buzz Aldrin, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.</span>';
$dom = new DOMDocument;
$dom->loadHTML($a);
echo '<pre>';
foreach($dom->documentElement->childNodes as $item){
var_dump('0 -> '.$item->nodeName);
if($item->nodeName != '#text'){
foreach($item->childNodes as $item2){
var_dump('1 -> '. $item2->nodeName);
if($item2->nodeName != '#text'){
foreach($item2->childNodes as $item3){
var_dump('2 -> '. $item3->nodeName);
if($item3->nodeName != '#text'){
foreach($item3->childNodes as $item4){
var_dump('3 -> '. $item4->nodeName);
if($item4->nodeName != '#text'){
foreach($item4->childNodes as $item5){
var_dump('4 -> '. $item5->nodeName);
}
}
}
}
}
}
}
}
}
codepad.org/tg1jrGNc
Проблема заключается в том, что глубина вложенности тегов может быть очень большая. Писать кучу foreach'ей очень плохой вариант. Как можно решить проблему нормальным способом?