HTMLタグ要素を変更しようとしていますが、変更が必要なHTMLファイルの膨大なリストがあります。
画像と次のテキストの間の線を削除する必要があります。私はPHPを使用しています。DOMDocumentを使用してすべてのノードにアクセスしており、ノードパスを取得することもできます。しかし、ノードパスからその特定のHTMLタグを変更することはできません。これが可能かどうか誰かに教えてもらえますか?これは私が今持っているものです..どうもありがとうございました。
$dom = new DOMDocument();
$dom->loadHTMLFile($pathname);
$i=0;
$allNodes = $dom->getElementsByTagName('*');
$tagNamesArray = array();
foreach($allNodes as $node) {
$tagNodePath = $node->getNodePath();
$tagName = end(explode('/',$node->getNodePath()));
$tagNamesArray[$i][1] = $tagName;
$tagNamesArray[$i][2] = $tagNodePath;
$i++;
}
checkForLines($tagNamesArray, $dom);
function checkForLines($tagsArray, $dom) {
$xPath = new DOMXpath($dom);
for($i=0 ; $i<(count($tagsArray)-1) ; $i++) {
if($tagsArray[$i][1] == 'img' && $tagsArray[$i+1][1] == 'br') {
echo $tagsArray[$i+1][2].'<br>';
$lineTag = $xPath->query($tagsArray[$i+1][2]);
$domElement = $dom->removeChild($lineTag);
}
}
}