Я использую PHP DOMDocument для анализа частей HTML-документа.
Эта проблема:
Все анкоры (не ссылки на анкоры) настраиваются так:
<a name="_Toc1234567">Overview of Data</a>
Я хочу, чтобы формат был таким:
<a name="_Toc1234567"></a>Overview of Data
В документе их много, но во всех случаях якорь имеет указанное имя — всегда уникальное. Все ссылки не имеют имени.
Пока что у меня это:
<?php
$d = new DOMDocument;
$d->loadHTML(file_get_contents('source.html'));
$anchors = $d->getElementsByTagName('a');
foreach ($anchors as $anchor) {
$name = $anchor->getAttribute('name');
$atext = $anchor->nodeValue;
if (isset($name)) {
// move the anchor text outside of the anchor tag
// like this <a name="_Toc1234567"></a>Anchor text
}
}
$final = $d->saveHTML();
file_put_contents("result.html", $final);
?>
'a'
следующим образом:'a[name^="_"]'
. Эта демонстрация может идеально вам подойти: jsfiddle.net/nikoloza/xt9ja4e0/2 06.11.2014