Kai345: Funktion, um Pfade zusammenzubauen

Beitrag lesen

[latex]Mae  govannen![/latex]

Wäre zwar kein Problem, mir das als PHP-Funktion SELF zu schreiben, aber wenn es was fertiges und schnelleres gibt...

/**  
* Setzt aus einer beliebigen Anzahl an Argumenten einen Pfad zusammen, dabei werden mehrere  
* aufeinanderfolgende Schrägstriche (/) zu einem zusammengefasst.  
* Jedes Argument kann eine Zeichenkette, ein Array oder eine Kombination aus beiden sein.  
*  
* @param  string|array  Beliebige Anzahl Pfad-Fragmente  
* @return string        bereinigter Pfad  
*/  
function create_path () {  
    $fargs = func_get_args();  
    $path = array();  
    foreach ($fargs as $arg) {  
        if (is_array($arg)) {  
            array_push($path, call_user_func_array(__FUNCTION__, $arg));  
        }  
        elseif (is_string($arg) || is_numeric($arg)) {  
            array_push($path, $arg);  
        }  
    }  
    return preg_replace('#(?<!:)/{2,}#', '/', implode('/',$path));  
}

getestet mit

echo create_path("mü","ll","er");  
echo "<br>",create_path();  
echo "<br>",create_path(array());  
echo "<br>",create_path(array("a","b","c"));  
echo "<br>",create_path("/abc//", array("/def", array(42, "//////",'../..', "hurz"),"ghi"), "jkl////", array('/mno','/pqr/','stu//'), true, "vwx", "yz");

Ausgabe:
mü/ll/er

a/b/c
/abc/def/42/../../hurz/ghi/jkl/mno/pqr/stu/vwx/yz

Cü,

Kai

--
Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken in Richtung "Mess up the Web". (suit)
Foren-Stylesheet Site Selfzeug JS-Lookup
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?