パーサーを使用して、特定のスパン要素を対応する見出し要素に変更しています。私は次のコードを持っています:ストリップ外側の要素、すなわち。親をphpパーサーで削除する
$headingReplace[1]['h'] = 'h1';
$headingReplace[1]['string'] = '/html/body//span[@class="heading1"]'; $headingReplace[1]['h'] = 'h1';
foreach($headingReplace as $heading){
foreach ($xp->query($heading['string']) as $span) {
$h1 = $dom->createElement($heading['h']);
$h1->setAttribute('class', $span->getAttribute('class'));
while($span->childNodes->length > 0) {
$h1->appendChild($span->childNodes->item(0));
}
$span->parentNode->replaceChild($h1, $span);
}
}
return $dom->saveHtml();
すべてが正常に動作しますが、スパンもpタグでラップされます。
<p><span class="heading1">Blah Blah</span></p>
削除したいもの。私は 'appendChild'行の後に、私は 'removeParent'に行をしたいと思うが、私はそれを動作させることはできません。何か案は?
ありがとうございます。
べきではない $ span-> parentNode-> parentNode->のreplaceChild($さh1:
与えられたノードの後にノードを追加するためには、(!テストされていない)のようなものを使用することができます$ span-> parentNode); あなたは何をしますか? – Pelshoff
ああ、ありがとう、ペルソフ!ダー!私はいくつかの種類の 'removeParent'コマンドを探していました。私はもう1つの質問をしたいと思います。新しい問題が現れました。すべての見出しの後に '
'を挿入する場合は、どうすればよいですか?ありがとうございました – Inigo