Вы можете использовать PHP DOM классы / функции для этого.
Начните с создания / загрузки документа:
$d = new DOMDocument();
$d->loadHTML($yourWellFormedHTMLString);
Затем вам нужно будет найти узел документа, который вы хотите изменить.Вы можете сделать это, используя XPath:
$xpathsearch = new DOMXPath($d);
$nodes = $xpathsearch->query('//div[contains(@class,'main')]');
Затем вы захотите перебрать соответствующие узлы и создать новые узлы внутри:
foreach($nodes as $node) {
$newnode = $d->createDocumentFragment();
$newnode->appendXML($yourCodeYouWantToFillIn);
$node->appendChild($newnode);
}
Если вы не возражаете возитьсяс библиотекой на ранней стадии разработки, взгляните на CAST (шаблонно-ориентированный стиль).Он в значительной степени разработан для того, чтобы описывать то, что вы описываете, и, если ничего другого, вы можете заглянуть внутрь источника, чтобы увидеть примеры.
(ПРИМЕЧАНИЕ: я уверен, что проницательный заметит, что //div[contains(@class,'main')]
isn 't точно эквивалент CSS-селектора div.main
..., поскольку атрибут class может содержать более одного класса. Выполнение этого точно достаточно громоздко, я думаю, что лучше начать сУпрощенное выражение, когда вы знакомите людей с ним, даже если для тех, кто пойдет по этому пути, лучше всего узнать xpath достаточно хорошо, чтобы справиться с этим правильно, или просто используйте больше идентификаторов вместо классов. :)