That's an odd one...
$m[2] = str_replace('&', reset($this->parse_ancestors($this->rules[$node['parent']])), $m[2]);
I don't see anything in there being passed by reference..?
Maybe the reset() call is expecting its param to be a variable because it'll reset its position? But all I'm asking of reset() is to return the first item in the array, meaning the PHP devs have a bug in there or something...
What PHP version are you using?
A temp fix would be to put the parse_ancestors call result into a var and then doing the reset() on that var, if you don't mind testing...
Posted: November 6th, 2012, 10:10 AM
Okay... Found a reference (if I may say) here:
http://stackoverflow.com/questions/6726219/strict-standards-error
They say that an 'easy' fix is to add brackets around the function call. Totally silly :) But if it works...
Thus, try to replace that line with:
$m[2] = str_replace('&', reset(($this->parse_ancestors($this->rules[$node['parent']]))), $m[2]);