次のコードがあります。(1)URLからページ/セクション名を取得します。(2)文字列をクリーンアップしてから変数に割り当てます。
このコードをより効率的に、おそらくif / elseステートメントを減らすように改善する方法について、何か提案があるかどうか疑問に思いました。
また、URL構造内のサブディレクトリのx個を占めるようにこれをコーディングする方法についての提案。今、私はかなり手動の方法で最大3つをチェックします。
たとえば、www.domain.com / level1 / level2 / level3 / level4 /levelx/..のような任意のURLを処理したいのですが。
これが私の現在のコードです:
<?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]));
}
}
}
}
?>