Имам следния код, който (1) получава името на страницата / раздела от URL адреса (2) почиства низа и след това го присвоява на променлива.
Чудех се дали има някакви предложения как мога да подобря този код, за да бъде по-ефективен, евентуално по-малко оператори if / else.
Също така, всяко предложение как мога да кодирам това, така че да отчита x количество поддиректории в структурата на url. В момента проверявам до 3 по доста ръчен начин.
Бих искал да обработва всеки URL адрес, например: www.domain.com/level1/level2/level3/level4/levelx/...
Ето текущия ми код:
<?php
$prefixName = 'www : ';
$getPageName = explode("/", $_SERVER['PHP_SELF']);
$cleanUpArray = array("-", ".php");
for($i = 0; $i < sizeof($getPageName); $i++) {
if ($getPageName[1] == 'index.php')
{
$pageName = $prefixName . 'homepage';
}
else
{
if ($getPageName[1] != 'index.php')
{
$pageName = $prefixName . trim(str_replace($cleanUpArray, ' ', $getPageName[1]));
}
if (isset($getPageName[2]))
{
if ( $getPageName[2] == 'index.php' )
{
$pageName = $prefixName . trim(str_replace($cleanUpArray, ' ', $getPageName[1]));
}
else
{
$pageName = $prefixName . trim(str_replace($cleanUpArray, ' ', $getPageName[2]));
}
}
if (isset($getPageName[3]) )
{
if ( $getPageName[3] == 'index.php' )
{
$pageName = $prefixName . trim(str_replace($cleanUpArray, ' ', $getPageName[2]));
}
else
{
$pageName = $prefixName . trim(str_replace($cleanUpArray, ' ', $getPageName[3]));
}
}
}
}
?>