2011-01-05 98 views
0

我想將4c050652f0c3e(的<testimonial id="xxx">)更改爲通過表單發送的動態變量。 我的變量是$nodeid = $_POST['nodeid'];,但我無法替換它的權利。PHP XML簡單變量問題

這是代碼

foreach($testimonials->xpath("testimonial[@id='4c050652f0c3e']") as $t) { 
    $t->$_POST['tagname'] = $_POST['newname']; 
} 

這是我做的,但是這是不對的

foreach($testimonials->xpath("testimonial[@id=$_POST['nodeid']]") as $t) { 
    $t->$_POST['tagname'] = $_POST['newname']; 
} 

謝謝!

+0

不應該一個XPath的進出口。從...開始 」//」? – 2011-01-05 14:55:08

+0

@ MrQ.C。不,這只是告訴XPath表達式匹配文檔中的任何地方,這不一定是想要的。 – Gordon 2011-01-05 15:01:07

回答

0

試加'

foreach($testimonials->xpath("testimonial[@id='".$_POST['nodeid']]."'") as $t) { 
    $t->$_POST['tagname'] = $_POST['newname']; 
} 
1

foreach在你的數組副本上工作,所以這是行不通的。你可以使用不同的循環,或使用引用數組

+0

另請參閱:http://php.net/manual/en/control-structures.foreach.php – Nanne 2011-01-05 14:56:25

1

試試這個(for循環):

foreach($testimonials->xpath("testimonial[@id='".$_POST['nodeid']."']") as $t) { 
    $t->$_POST['tagname'] = $_POST['newname']; 
}