Intereting Posts
Laravel 5.2 нужен пример, который реализует драйверы аутентификации по умолчанию / «Multi-Auth». который требует много работ прямо сейчас, поскольку Работа со временем и после полуночи Передача переменных javascript в php? разгрузка php-расширений: reverse dl () PHP (CI) cURL передал многомерный массив не ведет себя как один (не может его зацикливать) Могу ли я получить доступ к / dev / urandom с помощью open_basedir? Как поместить транзакцию begin-commit в контроллер: cakephp? mysqli sprintf google maps php query API-интерфейс SoftLayer Nessus Scan Status / Report через PHP Как включить переменную PHP внутри инструкции вставки MySQL Обработка изображений и создание в PHP – Как создать изображения 300DPI Использование PHP / Apache для ограничения доступа к статическим файлам (html, css, img и т. Д.) codeigniter, создающий каталог Сопоставьте и замените смайлики в строке – что является наиболее эффективным способом? PHP – доступ к глобальной переменной во всех php-потоках

Заполнение раскрывающегося меню в PHP от JSON

У меня есть следующий JSON в файле menu.txt :

 [{ "title":"About", "url":"/about", "nodes":[ {"title":"Staff","url":"/about/staff"}, {"title":"Location","url":"/about/location"} ]},{ "title":"Contact", "url":"/contact" }] 

Используя следующий Javascript:

 var menu = // JSON from menu.txt function parseNodes(nodes) { var ul = document.createElement('UL'); for(var i=0; i < nodes.length; i++) { ul.appendChild(parseNode(nodes[i])); } return ul; } function parseNode(node) { // takes a node object and turns it into a <li> var li = document.createElement('LI'); var a = ('<a href="'+node.url+'">'+node.title+'</a>'); li.innerHTML = a; if(node.nodes) li.appendChild(parseNodes(node.nodes)); return li; } document.getElementById('menu').appendChild(parseNodes(menu)); 

Я могу создать следующий HTML:

 <div id="menu"> <ul> <li><a href="/about">About</a></li> <ul> <li><a href="/about/staff">Staff</a></li> <li><a href="/about/location">Location</a></li> </ul> </li> <li><a href="/contact">Contact</a></li> </ul> </div> 

Есть ли простой способ сделать это в PHP, чтобы быть более дружественным к поисковым системам? Предпочтительно PHP-скрипт, который я мог бы включить menu.php на мои страницы?

 <?php $file = "menu.txt"; $json = json_decode(file_get_contents($file), true); // ???? ?>