拉我的頭髮在這裏...如何插入許多元素融入到DOM使用PHP
我需要插入一堆HTML到另一組在兩個不同的點設置HTML的,使用PHP。
$ a從另一個類的函數返回給我。我需要在$ a中插入$ b,使$ b元素成爲某些$ a元素的父元素。
<?php
$a = '
<div id="one">
<div id="two">
<div id="three">Hi</div>
</div>
</div>
';
$b = '
<div id="red">
<div id="blue"></div>
</div>
<div id="green">
<div id="yellow">there</div>
</div>
';
?>
需要落得:
<?php
$c = '
<div id="one">
<div id="two">
<div id="red">
<div id="blue">
<div id="three">Hi</div>
</div>
</div>
<div id="green">
<div id="yellow">there</div>
</div>
</div>
</div>
';
?>
注$ B是如何插入一個$,使所有的$ B孩子 「二」。但同時,「三」成爲「藍」的孩子。 「綠色」和「黃色」保持原有關係,但現在嵌套在「兩個」之下。
現實世界的例子....
<?php
$a = '
<div class="ginput_complex ginput_container">
<span class="ginput_full">
<input name="input_5" id="input_4_5" type="file" value="" class="medium" tabindex="5">
<label for="input_4_5" class="ginput_post_image_file">File</label>
</span>
<span class="ginput_full ginput_post_image_title">
<input type="text" name="input_5.1" id="input_4_5_1" value="" tabindex="6">
<label for="input_4_5_1">Title</label>
</span>
<span class="ginput_full ginput_post_image_caption">
<input type="text" name="input_5.4" id="input_4_5_4" value="" tabindex="7">
<label for="input_4_5_4">Caption</label>
</span>
<span class="ginput_full ginput_post_image_description">
<input type="text" name="input_5.7" id="input_4_5_7" value="" tabindex="8">
<label for="input_4_5_7">Description</label>
</span>
</div>
';
$b =
'
<div class="container">
<div class="row fileupload-buttonbar">
<div class="span7">
<span class="btn btn-success fileinput-button">
<i class="icon-plus icon-white"></i>
{{{{{{{{ THIS IS WHERE I MY FILE INPUT SHOULD GO }}}}}}}}}}}
</span>
<button type="submit" class="btn btn-primary start">
<i class="icon-upload icon-white"></i>
<span>Start upload</span>
</button>
<button type="reset" class="btn btn-warning cancel">
<i class="icon-ban-circle icon-white"></i>
<span>Cancel upload</span>
</button>
<button type="button" class="btn btn-danger delete">
<i class="icon-trash icon-white"></i>
<span>Delete</span>
</button>
</div>
</div>
</div>
';
$doc = new DOMDocument;
$doc->loadHTML($a);
$x = new DOMXPath($doc);
?>
我使用$ X->查詢( '// * [@ ID = 「input_4_5」]')來獲得的節點我想開始工作。從那裏開始,我一直在使用帶有appendChild,replaceChild和insertBefore變體的新DOMElement和importNode來遍歷DOM樹。但坦率地說,即使我成功地遍歷它,我也無法弄清楚如何插入/追加我正在處理的大塊代碼。
,如果你是玩'考慮dom'使用'javascript' – Deepak
我認爲JavaScript的,但我所有的變量都在服務器上,都設置,並且不需要用戶輸入。所以我真的很想在服務器端做到這一點。 – xd3v
看看[DOMDocument](http://php.net/manual/en/class.domdocument.php) – Musa