preg_replace, str_replace und substr_replace funktionieren nicht unter bestimmten Bedingungen

Ich habe den folgenden Code: Dieser Code findet alle HTML-Tags in einer Zeichenfolge und ersetzt sie durch [[0]], [[1]], [[2]] und so weiter. ;

$str = "some text <a href='/review/'>review</a> here <a class='abc' href='/about/'>link2</a> hahaha";
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",$str, $out, PREG_OFFSET_CAPTURE);

$count = 0;


foreach($out[0] as $result) {

$temp=preg_quote($result[0],'/');

$temp ="/".$temp."/";
preg_replace($temp, "[[".$count."]]", $str,1);


$count++;   
}
var_dump($str);

Dieser Code findet alle Tags in einer Zeichenfolge und ersetzt sie durch [[0]], [[1]] und [[2]] und so weiter. Ich habe benutztpreg_match_all&nbsp;mit PREG_OFFSET_CAPTURE. Die Ausgabe vonpreg_match_all&nbsp;ist wie erwartet. Jedoch,preg_replace, substr_replace, undstr_replace&nbsp;Funktioniert nicht, wenn die Tags durch ersetzt werden[[$count]]. Ich habe alle drei Methoden zum Ersetzen von Zeichenfolgen ausprobiert und keine davon funktioniert. Bitte weisen Sie mich in die richtige Richtung. Kann etwas in der php.ini das verursachen? Danke im Voraus.