preg_replace, str_replace i substr_replace nie działają w specjalnych warunkach

Mam następujący kod: ten kod znajduje wszystkie znaczniki html w łańcuchu i zastępuje je [[0]], [[1]], [[2]] itd. (Przynajmniej to jest zamierzone, ale nie działa) ;

$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);

Ten kod znajduje wszystkie znaczniki w łańcuchu i zastępuje je [[0]], [[1]] i [[2]] i tak dalej. używałempreg_match_all z PREG_OFFSET_CAPTURE. Wyjście zpreg_match_all jest zgodnie z oczekiwaniami. Jednak,preg_replace, substr_replace, istr_replace nie działają podczas podstawiania tagów[[$count]]. Próbowałem wszystkich trzech metod zastępowania ciągów i żadna z nich nie działa. Proszę wskazać mi właściwy kierunek. Czy może to spowodować coś w php.ini? Z góry dziękuję.

questionAnswers(2)

yourAnswerToTheQuestion