Есть такой нехитрый код, он обеспечивает подсветку активного пункта навигации:
<?php
$file = 'xml/navigation.xml';
$navigation = simplexml_load_file($file);
foreach($navigation->item as $item) {
$active = ($_SERVER['REQUEST_URI'] == $item['id']) !== false ? ' class="active"' : '';
echo '<li class="item"><a'. $active . ' href="' . $item['id'] . '">' . $item['title'] . '</a></li>';
}
?>
Например, site.org/main, site.org/about и т. п. Но, есть ссылки такого плана: site.org/articles?page=2, site.org/articles?page=5 и т. д. Такую глубину (после site.org/articles), скрипт не берёт.
Подскажите, пожалуйста, что можно сделать для реализации?
Как вариант сравнивать url_path
$file = 'xml/navigation.xml';
$navigation = simplexml_load_file($file);
foreach($navigation->item as $item) {
$pathRequest = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$pathItem = parse_url($item['id'], PHP_URL_PATH);
$active = ($pathRequest == $pathItem) !== false ? ' class="active"' : '';
echo '<li class="item"><a'. $active . ' href="' . $item['id'] . '">' . $item['title'] . '</a></li>';
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости