人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのDOM操作について質問です。
以下のようなDOM操作の流れで、class名が"foo"の<img>だけ、DOM操作でremoveするにはどういうコードになりますか?

<?php
mb_internal_encoding('UTF-8');

$sour =<<< EOT
texttexttexttexttext<img src="aaa.png" class="hoge" /><img src="bbb.png" class="foo" />texttexttexttexttext
EOT;

//XMLにする
$sour = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<div>" . $sour . "</div>";

$doc = new DOMDocument();
$doc->loadXML($sour);
echo $doc->saveXML($doc);
?>


●質問者: P-mako
●カテゴリ:インターネット ウェブ制作
✍キーワード:Class DOC DOM echo PHP
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● regnif
●60ポイント

http://blog.livedoor.jp/osadasoft/archives/51081997.html

あたりを参考にして。

$doc->loadXML($sour);

echo $doc->saveXML($doc);

の間に

$imgs=$doc->getElementsByTagName('img');

for($i=0;$i<$imgs->length;$i++){

$class=$imgs->item($i)->getAttribute('class');

if($class=='foo'){

$imgs->item($i)->parentNode->removeChild($imgs->item($i));

}

}

を追加。で、できましたよ。

◎質問者からの返答

できました!

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ