Member 10749093 Ответов: 1

Изменение имен в моем коде PHP breadcrumbs


Мне нужна небольшая помощь здесь у меня есть панировочные сухари в php, мой каталог выглядит так

folder/name.php


и используя этот код я получаю на выходе вот так

Home » folder » name


что я хочу сделать, так это поставить имя, которое я хочу, чтобы вместо кода получалось имя папки и файла. пожалуйста, помогите мне в этом. спасибо ребята

моя треска внизу:

Что я уже пробовал:

<?php 
    $path = $_SERVER["PHP_SELF"];
    $parts = explode('/',$path);
    if (count($parts) < 2)
    {
    echo("home");
    }
    else
    {
    echo ("<a href=\"/\">Home</a> » ");
    for ($i = 1; $i < count($parts); $i++)
        {
        if (!strstr($parts[$i],"."))
            {
            echo("<a href=\"");
            for ($j = 0; $j <= $i; $j++) {echo $parts[$j]."/";};
            echo("\">". str_replace('-', ' ', $parts[$i])."</a> » ");
            }
        else
            {
            $str = $parts[$i];
            $pos = strrpos($str,".");
            $parts[$i] = substr($str, 0, $pos);
            echo str_replace('-', ' ', $parts[$i]);
            };
        };
    };  
?>

1 Ответов

Рейтинг:
1

Peter Leow

Нет никакой магии. Во-первых, подготовьте список словарей, которые соответствуют всем возможным именам папок или файлов с их желательными новыми именами, в PHP используйте ассоциативный массив, например

// an associative array of oldnames => newnames
$newnames = array("oldname1"=>"newname1", "oldname2"=>"newname2")

затем в вашем коде замените соответствующий
echo $parts[$j]
, в зависимости от того, является ли это для описательной цели для фактической ссылки href, с
echo $newnames[$parts[$j]]
Вам придется выяснить это на основе ваших требований. Конечно, убедитесь, что значения $parts включены в качестве ключей в $newnames.
Ссылка: Массивы PHP 5[^]