expression réguliere- tronquer la fin d'une adresse

Eléphanteau du PHP | 18 Messages

30 mars 2011, 12:50

Bonjour,

J'aimerais faire une expression régulière et je m'en sors pas. Ca me donne tout sauf ce que je veux.
Je fais un : $_SERVER['PHP_SELF'];

Donc je récupère une adresse comme ceci : public_html/eap/question/reponse/index.php

Je voudrais récupérer seulement /reponse/index.php
sachant que selon les pages les dossiers ne sont pas les mêmes, je ne peux pas me baser sur les mots tel que : "question" "réponse" ou "index".
Il faudrait que je récupere toujours truc/machin.php quelque soit truc et machin

C'est possible de faire cela???

Je vous remercie.

ViPHP
xTG
ViPHP | 7331 Messages

30 mars 2011, 13:06

Je suis pas un as en expression régulière mais voilà à quoi je pense :

Code : Tout sélectionner

(.*)\/(.*)\/(.*)$
Cette série de / devrait caler les deux derniers.

Sinon sans expression régulière on peut le faire avec explode() :
$tab = explode('/',$_SERVER['PHP_SELF']);
$result = (count($tab) > 2) ? $tab[count($tab) - 2] . '/' . $tab[count($tab) - 1] : $_SERVER['PHP_SELF'];

Eléphanteau du PHP | 18 Messages

30 mars 2011, 13:10

nickel la version avec php ^^