을하고, str_replace()
를 사용하는 코드가 일정 :
<div class="leftside item1">
<label for="item1">Item1</label>
</div>
나는로 교체하고 싶습니다. 실제 문자열이 다소 다르면 regexes를 사용하지 마십시오. 실제로 XML/HTML 또는 SGML과 잘 섞이지 않기 때문에 파서 (예 : , XPath 쿼리 및 일부 노드 조작)를 사용하십시오.
$html = '<div class="leftside item1">
<label for="item1">Item1</label>
</div>
<p>aa</p>
<div class="leftside item1">
<label for="item1">Item1</label>
</div>';
$d = new DOMDocument();
$d->loadHTML($html);
$add = $d->createDocumentFragment();
$x = new DOMXPath($d);
$list = $x->query("//div[@class='leftside item1']");
if($list->length){
foreach($list as $divnode){
$add->appendXML('<div class="rightside item1_select">
<select class="item1_select" id="item1_select">
<option value="">Select one</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>');
if($divnode->nextSibling instanceof DOMNode){
$divnode->parentNode->insertBefore($add,$divnode->nextSibling);
} else {
$divnode->parentNode->appendChild($add);
}
}
}
echo $d->saveHTML();
무엇으로 바꾸시겠습니까? –
문자열을 바꿀 내용을보고해야합니다. 그렇지 않으면 질문의 절반 부분이 누락됩니다. – kiamlaluno