Reemplazar todas las ocurrencias en un texto por otra

Código PHP

PHP – String – Reemplazar todas ocurrencias

Función para reemplazar todas las ocurrencias de un texto determinado dentro de un texto por otra ocurrencia. Devuelve como parámetro el número de ocurrencias sustituidas.

La sustitución se realiza sin tener en cuentas las mayúsculas y minúsculas pero no a los acentos. Si la ocurrencia a sustituir no existe, devuelve el mismo texto.

/**
 * Class HelperString
 */
abstract class HelperString
{
    /**
     * Reemplaza todas las ocurrencias.
     * Es insensible a mayúsculas y minúsculas pero no a loa acentos
     * Devuelve el numero de ocurrencias sustiruidas
     *
     * @param string   $texto
     * @param string   $origen
     * @param string   $destino
     * @param int|null $numSuccess
     *
     * @return string
     */
    public static function replaceAll( $texto, 
                                       $origen, 
                                       $destino, 
                                       &$numSuccess = null)
    {
        return str_ireplace( ''.$origen, 
                             ''.$destino, 
                             ''.$texto, 
                                $numSuccess);
    }
}

Ejemplos

$str = "123_123_123";
$ret = HelperString::replaceAll($str, '1', "X");
echo $ret; // X23_X23_X23

$str = "abc defgh, abc defgh";
$ret = HelperString::replaceAll($str, 'efg', "_");
echo $ret; // abc d_h, abc d_h

$str = "abc defgh abc defgHI";
$ret = HelperString::replaceAll($str, 'eFg', "__X__");
echo $ret; // abc d__X__h abc d__X__HI

$str = "Función generación";
$ret = HelperString::replaceAll($str, 'CIóN', "y");
echo $ret; // Funy generay

$str = "Función generación";
$ret = HelperString::replaceAll($str, 'CIÓN', "y");
echo $ret; // Función generación