Live geek or die tryin'

PHP: Extraire Une Chaîne De Caractères à Partir D'une Autre Chaîne

Salut!

echo $_SERVER["SERVER_SOFTWARE"];
// Retourne Apache/2.2.19 (Win32) PHP/5.3.6

Disons qu’on veut récupérer la version d’Apache et de PHP à partir de cette chaîne. Le principe est d’utiliser la fonction preg_replace() pour éliminer tout ce dont a pas besoin.

Dans notre exemple, pour la version de PHP, c’est plutôt puisqu’il suffit d’éliminer tout ce qui la précède:

$phpVersion = preg_replace("/.*?PHP\//", "", $_SERVER["SERVER_SOFTWARE"]);

Ca change légèrement pour la version d’Apache, puisqu’on doit se débarrasser du texte entourant la version. Dans ce cas, au lieu de passer un seul motif regex dans une chaîne, on va passer les motifs des chaînes des deux côtés de la version dans un tableau:

$apacheVersion = preg_replace(array("/Apache\//", "/ \(.*/"), "", $_SERVER["SERVER_SOFTWARE"]);

J’ai utilisé ces bouts de code pour faire une page d’accueil pour mon localhost/, dans le style de la page d’accueil de WAMP. Voici le lien pour les intéressés: Dinduks’ Web Workspace. ;)

Comments