grad
Новичок
нужен алгоритм и методы решения задачи. работа с тегами.
Добрый день.
Задача такова: есть код HTML. например
<div style="...">one<b>two</b><font face="...">three</font></div>
нужно присвоить каждому слову, заключенному в тег, свойства самого тега сохраняя вложенность тегов.
то есть слово two имеет свойства bold тега <b></b> и style тега div, в котором может быть указан размер шрифта или цвет текста.
насколько я понимаю, мне нужно использовать регулярные выражения))))))
если бы не было вложенности тегов, то задача бы свелась к:
<?php
$str = "<div style='...'>one<b>two</b><font face='...'>three</font></div>";
preg_match_all("|<[^>]+>(.*)</[^>]+>|U", $str, $out, PREG_SET_ORDER);
$n=count($out);
$n=$n-1;
for ($i=0;$i<=$n;$i++)
{
echo $out[$i][0] . " | " . $out[$i][1]."<br />";
}
?>
далее "прочитать" свойства тега не составляет труда.
подскажите, как быть в данном случае с вложенными тегами?
спасибо.
Добрый день.
Задача такова: есть код HTML. например
<div style="...">one<b>two</b><font face="...">three</font></div>
нужно присвоить каждому слову, заключенному в тег, свойства самого тега сохраняя вложенность тегов.
то есть слово two имеет свойства bold тега <b></b> и style тега div, в котором может быть указан размер шрифта или цвет текста.
насколько я понимаю, мне нужно использовать регулярные выражения))))))
если бы не было вложенности тегов, то задача бы свелась к:
<?php
$str = "<div style='...'>one<b>two</b><font face='...'>three</font></div>";
preg_match_all("|<[^>]+>(.*)</[^>]+>|U", $str, $out, PREG_SET_ORDER);
$n=count($out);
$n=$n-1;
for ($i=0;$i<=$n;$i++)
{
echo $out[$i][0] . " | " . $out[$i][1]."<br />";
}
?>
далее "прочитать" свойства тега не составляет труда.
подскажите, как быть в данном случае с вложенными тегами?
спасибо.