Can';t在php简单dom解析器中克隆对象
首先,我想确保下面是测试和克隆对象的正确方法。我正在使用PHP简单HTML DOM解析器Can';t在php简单dom解析器中克隆对象,php,parsing,clone,Php,Parsing,Clone,首先,我想确保下面是测试和克隆对象的正确方法。我正在使用PHP简单HTML DOM解析器 $page = 'www.google.ca'; $html = file_get_html($page); $test = clone $html; $test->find('title',0)->innertext = 'changed title'; echo $html->find('title',0)->innertext; echo $test->find('
$page = 'www.google.ca';
$html = file_get_html($page);
$test = clone $html;
$test->find('title',0)->innertext = 'changed title';
echo $html->find('title',0)->innertext;
echo $test->find('title',0)->innertext;
现在也许我做错了,但这似乎并没有将$html克隆到$test。两者都将输出“更改的标题”
所以我的问题是
谢谢大家文件上说: 克隆对象时,PHP5将对对象的所有属性执行浅拷贝。任何引用其他变量的属性都将保留为引用 所以可能。innertext引用了另一个对象,它是一个引用
您是否尝试过
$test=$html代码>?克隆
仅执行浅拷贝。可能实际的DOM只是$html
的一个属性(另一个对象)。我确实想出了(我想)如何修复它,我将对象解析为字符串,并使用类自己的函数将其转换回对象…………$test=str_get_html($html->outertext);