Mailinglisten-Archive |
hallo Florian, Florian Mang wrote: > Kannst du mir das auch ein bisschen genauer und anfängerfreundlich > erklären? oder hast du nen link dazu oder ein beispiel? Schau dir zuerst http://de3.php.net/manual/de/function.explode.php an. Als trennzeichen legst du sinnvollerweise das "/" fest und erhälst als Ergebnis aus dem explode ein numeriertes Array mit allen enthaltenen Teilen der URL, die zwischen den Slashes gefunden wurden. Durch ein unbestimmt großes Array läufst du mit foreach ( $array as $key => $value ) { } durch. Ein Array betrachten kannst du am besten mit echo '<pre>'; print_r($array); echo '</pre>'; Die Keys (Schlüssel) enthalten dann die Position im Array, also auch die Position in der URL. Lass dir in der foreach-Schleife mal mit echo die $key und $value zeilenweise ausgeben und schau, an welcher Stelle du die Sprachinformation findest. Für diesen Key setzt du dann eine if-Bedingung ein. $urlParts = explode('/', $_SERVER['PHP_SELF']); $newUrl = 'http://'.$_SERVER['HTTP_HOST'].'/'; foreach ( $urlParts as $k => $part ) { if ( 1 == $k ) // dies wäre die Position der Sprache { $newUrl .= 'en'; } else // ansonsten die Teile der Reihe nach wieder anhängen { $newUrl .= $part; } // und nach jedem Teil immer einen Slash anfügen, solange es sich nicht // um den letzten Schlüssel im Array handelt, weil dieser Teil wahrscheinlich // auf .html oder .php endet if ( $k < (count($array)-1) ) { $newUrl .= '/'; } } Das Ganze müsstes du ggf. für alle Sprachen wiederholen, weil je Sprache eine neue URL zusammengebaut werden muss. Also am besten noch eine Schleife drumherum für jede Sprache foreach ( $languages as $k => $v ). Siehe Niels' Vorschlag kannst du das Ganze auch noch schön übersichtlich in functions zerlegen. hth, Ringo
php::bar PHP Wiki - Listenarchive