preg_replace, str_replace y substr_replace no funcionan en condiciones especiales
Tengo el siguiente código: este código encuentra todas las etiquetas html en una cadena y las reemplaza con [[0]], [[1]], [[2]] y así sucesivamente. (Al menos eso está intentado pero no funciona) ;
$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);
Este código encuentra todas las etiquetas en una cadena y las reemplaza con [[0]], [[1]] y [[2]] y así sucesivamente. he utilizadopreg_match_all
con PREG_OFFSET_CAPTURE. La salida depreg_match_all
es como se esperaba. Sin embargo,preg_replace
, substr_replace
ystr_replace
No funcionan al sustituir las etiquetas con[[$count]]
. He intentado los tres métodos de reemplazo de cadenas y ninguno de ellos funciona. Por favor, apúntame en la dirección correcta. ¿Puede algo en php.ini causar esto? Gracias por adelantado.