pash1987
Пользователь
- Регистрация
- 27.11.12
- Сообщения
- 2
- Реакции
- 0
- Баллы
- 1
Как использовать класс атрибута, чтобы получить внутренний HTML-файл по заданному URL-адресу и HTML-файлу? Я искал в Интернете четкое объяснение.
Где я ошибаюсь (я не привык к «->» и «=>», поскольку не знаю, что они представляют или делают):
Код (разметка):
![DOMDocument атрибута класса для получения внутреннего HTML файла html. DOMDocument атрибута класса для получения внутреннего HTML файла html.](http://)
Где я ошибаюсь (я не привык к «->» и «=>», поскольку не знаю, что они представляют или делают):
Код:
<?php
function walkDOMForTagAndClass($element, $tagName, $class, $callback) { if ($element->nodeType !== 1) return false; // invalid element $tagName = strtoupper($tagName); if ($walk = $element->firstChild) do { if ( ($walk->nodeType == 1) && (strtoupper($walk->nodeName) == $tagName) && ($walk->attributes->getNamedItem('class') == $class) ) $callback($walk); } while ( $walk = $walk->firstChild || $walk->nextSibling || ( $walk->parentNode == $element ? false : $walk->parentNode.nextSibling ) );
}
$file = "[URL='https://wmlogs.com/yti/SL11LSlZodHRwczovL2JsdWVsZXR0ZXJiaWJsZS5vcmcvbGFuZy9sZXhpY29uL2xleGljb24uY2ZtP1N0cm9uZ3M9SDEmdDmED']https://www.blueletterbible.org/lang/lexicon/lexicon.cfm?Strongs=H1&t=KJV[/URL]";
$doc = new DOMDocument();
$doc->loadHTMLFile($file);
walkDOMForTagAndClass( $doc, 'div', 'nocrumbs', function($file) { }
);
$xpath = new DOMXPath($doc);
$hrefs = $xpath->evaluate("/html/body//a");
for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); $url = $href->getAttribute('href'); $href->removeAttribute('target'); $href->setAttribute("target", "_blank"); $newURL=$url."/newurl"; $href->removeAttribute('href'); $href->setAttribute("href", $newURL);
}
$file=$doc->saveHTML();
echo $file;
?>