在PHP中模拟jQuery的clone()

时间:2014-06-18 05:08:20

标签: php jquery clone

大家好,我第一次来这里,我花了这么多时间才发现我是怎么做到的。

Jquery克隆可以很容易地为我做,但缺点是我不能将它用于SEO目的。

所以我想要一个替代方法,使用PHP在标签内复制文本并在任何地方回显它。

<div class="content-to-copy" id="content-to-copy">Copy this text</div>
<div class="content-new-location" class="content-new-location"></div>

我可以通过使用以下代码

使用jquery clone轻松实现上述目标

jquery clone code pen

我怎样才能使用PHP?

1 个答案:

答案 0 :(得分:0)

或者,(简单的html dom解析器实际上很好),您可以在此DOMDocument上使用DOMXpath。考虑这个例子:

$original_html = '<div class="content-to-copy" id="content-to-copy">Copy this text</div><div id="content-new-location" class="content-new-location"></div>';
$dom = new DOMDocument;
@$dom->loadHTML($original_html);
$xpath = new DOMXpath($dom);

// clone
$clone = $xpath->query('//div[@id="content-to-copy"]//text()');
$clone_value = (string) $clone->item(0)->nodeValue;
$xpath->query('//div[@id="content-new-location"]')->item(0)->nodeValue = $clone_value;
// extra styling to see difference
$xpath->query('//div[@id="content-new-location"]')->item(0)->setAttribute('style', 'color: red; font-weight: bold;');

$final_html = $dom->saveHTML($dom);

echo $final_html;

Sample Output