我想在網站上做一些動態CSS樣式更新,並且需要使用PHP over JavaScript。我只需要標記其中包含img
標記的div
標記,並忽略div
標記的其餘部分。PHP DOM檢查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
的全部代碼。我不想那樣。此外,從現在開始,我將不得不在代碼上運行正則表達式或其他代碼,以查找它是否在其中包含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>
任何幫助,請搜索...
完全!我幾乎無法理解HTML。 –
啊愚蠢的文本編輯器一直在想,代碼的一點是頁面上的實際代碼,它會消失...所以我只是刪除它們的具體情況。我知道他們應該有<的:) –