<?
$html = '<ul>\n<li>Сиз бухгалтерия ҳисобини юритишни ўрганиш истагидамисиз?</li>\n<li>Сиз уйда ўтириб, юқори маошли қўшимча иш қилмоқчимисиз?</li>\n<li>Сиз ўқиш давомида амалиёт етишмаётганини сезяпсизми?</li>\n<li>Келажакда фарзандингиз солиқ ва бухгалтерия счетларини осон тушуниши тарафдоримисиз?</li>\n</ul>\n<p>Унда марҳамат! <strong>“АВСО”</strong> мактаби сизга бу борада ёрдамга тайёр!</p>\n<p> </p>\n<p><strong>Бизнинг мактабда:</strong></p>\n<ul>\n<li>Инновацион технологиялар ёрдамидаги ўқув машғулоти</li>\n<li>4 босқичли бухгалтерия ҳисоби ва солиққа тортиш тизимининг корхона мисолида ёритилиши</li>\n<li>Бухгалтерия дастурлари (1 С 7.7 – 8.3 )да бемалол ишлай олиш имкони</li>\n<li>Банк клиент тизими ва электрон ҳисобот топшириш тажрибаси</li>\n</ul>\n<p><strong>Шошилинг, энг замонавий инновацион технологиялар ёрдамидаги дарс ҳамда амалий машғулотлар “АВСО” бухгалтерлар мактабида!</strong></p>\n<p>Бу ҳали ҳаммаси эмас, <strong>200-84-85, 142-84-85</strong> рақамига қўнғироқ қилинг ёки <a href=\"http://abco.uz/\"><strong>www.abco.uz</strong></a> сайтимизга кириб биринчи бўлиб рўйхатдан ўтинг.</p>\n<p>Биринчи бўлиб рўйхатдан ўтган 10 киши бепул дарсимиз иштирокчисига айланади.</p>\n<p>Ҳа, айтганча, мактабимизда иқтидорли ўқувчиларнинг иш билан таъминланиши кафолатланади!</p>\n<p><strong>Келинг, кўринг ва амин бўлинг!</strong></p>\n<p style=\"text-align: right;\"><em>Реклама ҳуқуқи асосида</em></p>\n';
function walk($output, \DOMNode $node, $depth = 0)
{
if ($node->hasChildNodes()) {
$children = $node->childNodes;
foreach ($children as $child) {
if ($child->nodeType === XML_TEXT_NODE) {
$output[] = $child->textContent; // заменил тело в условии
}
$output[] = $child->nodeName;
$item = walk(array(), $child, $depth + 1);
if (!empty($item)) {
$output[] = $item;
}
}
}
return $output;
}
$dom = new DOMDocument;
$dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
$root = $dom->getElementsByTagName('body')->item(0);
$output = walk(array(), $root, 0);
function recursiveRemoval(&$array, $val)
{
if(is_array($array))
{
foreach($array as $key=>&$arrayElement)
{
if(is_array($arrayElement))
{
recursiveRemoval($arrayElement, $val);
}
else
{
if($arrayElement == $val)
{
unset($array[$key]);
}
}
}
}
}
function recursiveTag(&$array, $val)
{
if(is_array($array))
{
foreach($array as $key=>&$arrayElement)
{
if(is_array($arrayElement))
{
recursiveRemoval($arrayElement, $val);
}
else
{
if($arrayElement == $val)
{
change_key($key, 'tag', $arrayElement, false);
}
}
}
}
}
function change_key($key,$new_key,&$arr,$rewrite=true){
if(!array_key_exists($new_key,$arr) || $rewrite){
$arr[$new_key]=$arr[$key];
unset($arr[$key]);
return true;
}
return false;
}
recursiveRemoval($output, '#text');
recursiveRemoval($output, '\n');
recursiveTag($output, 'strong');
print_r($output);
?>
Пытаюсь заменить ключи но ничего не выходит. Подскажите пожалуйста что не так, где поправить?
Цель подготовить статью для публикации в телеграф.