Pregunta

Leo esto Página PHP RegEx, pero o me estoy perdiendo algo, estoy leyendo mal algo o no funciona como dicen.Supongo que es uno de los dos primeros.

$str = preg_replace("([|]\d*)", "\1;", $str);
¿Fue útil?

Solución

Su expresión regular debe seguir la sintaxis de Perl, lo que significa que debe comenzar y terminar con el mismo carácter (con algunas excepciones).Además, la referencia anterior debe comenzar con una doble barra para evitar el doble escape de PHP.Esto debería funcionar (con una prueba rápida):

$str = "asdfasdf |123123 asdf iakds |302 asdf |11";
$str = preg_replace("/([|]\d*)/", "\\1;", $str);
echo $str; // prints "asdfasdf |123123; asdf iakds |302; asdf |11;"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top