2010-03-12 9 views

Répondre

21

dirname(). Vous pouvez l'utiliser autant de fois que vous le souhaitez

  • pour obtenir parent/enfant - dirname («parent/enfant/réponse)
  • pour obtenir parent - dirname (dirname (« parent/enfant/réponse '))
2
preg_replace("/\/\w+$/i","",__DIR__); 
    # Note you may also need to add .DIRECTORY_SEPARATOR at the end. 
1

Voici est une fonction pour supprimer le dernier n partie d'une URL:

/** 
* remove the last `$level` of directories from a path 
* example 'aaa/bbb/ccc' remove 2 levels will return aaa/ 
* 
* @param $path 
* @param $level 
* 
* @return mixed 
*/ 
public function removeLastDir($path, $level) 
{ 
    if (is_int($level) && $level > 0) { 
     $path = preg_replace('#\/[^/]*$#', '', $path); 

     return $this->removeLastDir($path, (int)$level - 1); 
    } 

    return $path; 
} 
+0

Vraiment? Des expressions régulières et récursives? Pourquoi pas une boucle 'for' avec' dirname'? Pour simple? – lxg

Questions connexes