Ces fonctions sont dépréciées, probablement parce qu'elles ne sont pas compatibles UTF-8 et ne pourront donc pas être portées dans PHP 6. Pour mémoire, avec les fonction preg, il faut utiliser l'option 'u' pour avoir cette compatibilité.

Dans de nombreux cas ces fonctions sont utilisées avec un motif qui n'est pas une expression rationnelle mais une simple chaine de caractères. Donc on aura une alternative pour les chaines simples et une pour les expressions rationnelles.

Fonction ereg recherche d'un motif dans une chaîne

Exemple :

 if (ereg($motif, $texte)) 
 if (strpos($texte, $motif)!==false)

    A noter : le test !== pour ne pas être piégé par la valeur 0 (debut de chaine) qui reste vrai.

  • Fonction strstr
 if (strstr($texte, $motif))

    Cette version est peut-être plus lisible, mais sans doute moins performante.

  • Fonction preg_match
 if (preg_match("/$motif/", $texte))

A noter : avec cette fonction, le motif doit être entouré d'un délimiteur (/ dans mon exemple).

Corrigé dans GLPI : #7682, #7683, #7683.

Fonction eregi recherche d'un motif dans une chaîne

Cette fonction se distingue de la précédente par la recherche sans distinction de la casse. Exemple :

 if (eregi($motif, $texte)) 
 if (stripos($texte, $motif)!==false)
 if (preg_match("/$motif/i", $texte))

A noter : l'option i après le délimiteur de fin.

Corrigé dans GLPI : #7681.

Fonction ereg_replace remplacement d'un motif dans une chaîne

Exemple :

 ereg_replace($cherche, $remplace, $texte);
 str_replace($cherche, $remplace, $texte);
 preg_replace("/$cherche/", $remplace, $texte);

A noter : avec cette fonction, le motif doit être entouré d'un délimiteur (/ dans mon exemple).

Corrigé dans GLPI : #7675.

Fonction eregi_replace remplacement d'un motif dans une chaîne

Cette fonction se distingue de la précédente par la recherche sans distinction de la casse. Exemple :

 eregi_replace($cherche, $remplace, $texte);
 str_ireplace($cherche, $remplace, $texte);
 preg_replace("/$cherche/i", $remplace, $texte);

A noter : l'option i après le délimiteur de fin.

Corrigé dans GLPI : #7672, #7673.

Fonction split scinde une chaîne en un tableau

Exemple :

 $resultat = split ($motif, $chaine);
 $resultat = explode ($motif, $chaine);
 $resultat = preg_split ("/$motif/", $chaine);

A noter : avec cette fonction, le motif doit être entouré d'un délimiteur (/ dans mon exemple).

Corrigé dans GLPI : #7671.

Fonction spliti scinde une chaîne en un tableau

Cette fonction se distingue de la précédente par la recherche sans distinction de la casse. Exemple :

 $resultat = split ($motif, $chaine);
 $resultat = preg_split ("/$motif/i", $chaine);

A noter : l'option i après le délimiteur de fin. Je n'ai pas trouvé d'autre alternative quand le motif est une simple chaine.

Fonction sql_regcase prépare une expression rationnelle

Désolé, j'ai rien trouvé.

Conclusion

Les alternatives proposées sont réputées plus rapides que ces vielles fonctions (surtout si vous ne faites qu'une recherche sur une simple chaine, pas sur une expression rationnelle). Voilà une bonne occasion de faire un peu de ménage dans votre code