Я пытаюсь сделать некоторые динамические обновления стилей CSS на сайте, и мне нужно использовать PHP поверх JavaScript.Мне нужно только стилизовать div
теги, которые содержат тег img
в них, и игнорировать остальные теги div
.
Вот что у меня есть:
$dom = new domDocument;
$dom->loadHTML($test);
$dom->preserveWhiteSpace = false;
$divs = $dom->getElementsByTagName('div');
foreach ($divs as $div) {
$saveXML[] = $dom->saveXML($div);
$childNotes[] = $div->getChildNodes;
}
Я просто пробую два метода здесь.Проблема с параметром $saveXML
заключается в том, что он дает мне весь код, включая инкапсулирующие div
s.Я этого не хочу.Кроме того, с этого момента мне придется запустить регулярное выражение или что-то еще в коде, чтобы найти, содержит ли он тег img
.
Опция $childNodes
должна была быть лучшей, как я думал, номассив возвращается пустым.Было бы неплохо, потому что я мог бы просто попробовать что-то вроде
if ($childNode->nodeType == 'img'){
$div->setAttribute('class', $new_attributes);
}
(я не думал, что этот последний бит полностью, но это общая концепция) ..
Вот примерHTML-код, который мне нужен для поиска по
div class="image-left drop-shadow raised" style="width: 210px">
img src="images/myimage.jpg" width="200" height="150" class="size-full" /
p>EDIT THIS DIV's STYLE /p>
/div>
div class="blocktext" style="width: 150px;">
p>DONT EDIT THIS DIVs STYLE /p>
/div>
Любая помощь, пожалуйста ...