src/Utils/StringTools.php
public static function replaceFirst($string, $search, $replacement, $noCase = false)
  {
    $search = static::replaceAll($search, '/', '\/');
    if ($noCase) {
      return preg_replace('/' . $search . '/i', $replacement, $string, 1);
    } else {
      return preg_replace('/' . $search . '/', $replacement, $string, 1);
    }
  }
public static function replaceFirst($string, $search, $replacement, $noCase = false)
  {
    $search = static::replaceAll($search, '/', '\/');
    if ($noCase) {
      return preg_replace('/' . $search . '/i', $replacement, $string, 1);
    } else {
      return preg_replace('/' . $search . '/', $replacement, $string, 1);
    }
  }
Remplace la première occurence de la sous-chaîne dans la chaîne

@param  string  $string       Chaîne de caractères
@param  string  $search       Chaine à rechercher
@param  string  $replacement  Chaine de remplacement
@param  boolean $noCase       (optional) Ne pas tenir compte de la casse (FALSE par défaut)
@return string                Chaîne de caractère modifiée