Новости Joomla

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Ещё один генератор ИИ-файлов llms.txt и llms-full.txt.

Основные особенности/возможности компонента:

  • Генерация по стандарту: Автоматическое создание файла-визитки llms.txt и расширенной версии llms-full.txt с аннотированным списком материалов.
  • Интеллектуальная работа с контентом: Компонент использует мета-описания (Meta Description) из статей и пунктов меню, превращая SEO-настройки сайта в качественный контекст для нейросетей.
  • Просмотреть результат генерации файлов можно сразу в рабочей области компонента. После внесения корректив (через Настройки компонента. При отладке лучше открыть три вкладки в браузере: Настройка — Геренация/Превью — Список Материалов/Категории/Меню.) — проводим перегенерацию, смотрим результат до полной «победы».
  • Автоматизация и безопасность: Синхронизация с sitemap.xml, группировка по категориям и автоматическое создание резервных копий (.bak) при каждой генерации.
  • Гибкое управление: Возможность исключения определенных категорий и/или статей и/или пунктов меню, а также простая настройка через стандартную админпанель Joomla.
  • Подробное руководство/справка: Пошаговая инструкция для пользователя в Настройках компонента для редакторов с базовым знанием администрирования Joomla.

👉 Важно учесть.
1️⃣ Компонент Генератор LLMs.txt изначально составляет базовый список ссылок на основе sitemap.xml и сверяется с ним на предмет: запрета индексации url в robots.txt, тегов noinex/nofollow. Это экономит время на проверку «закрыть от индексации», поскольку компонент генерации Sitemap.xml уже реализовал эту задачу. Посему, формирование ссылок для ИИ имеет комплексный подход, составление грамотного/валидного/релевантного sitemap.xml никто не отменял.

2️⃣ Тексты-описания ссылок формируются из Meta Description com_content (только компонент Материалы) и выбранных пользователем Меню сайта. Важно, чтобы Meta Description были уникальными и релевантными, соответствовали базовому seo. Составленные «на отшибись» Description для ИИ — «не катит» (впрочем, для поисковых систем они тоже «не канали»).

Разработчик - участник нашего сообщества Александр Кузнецов (@newvksan).

Страница расширения

@joomlafeed

#joomla #ии #ai

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

Это Joomla-компонент для публикации AI-ready карты сайта и автоматической генерации файлов llms.txt, llms-full.txt и llms.json по концепции llmstxt.org.  Также о концепции llms.txt говорит Google в своей справке Lighthouse. Решение помогает LLM-моделям, AI-агентам, GEO/AI SEO-процессам и внутренним автоматизациям получать структурированные данные о сайте без ручной сборки JSON и Markdown.

С помощью WT LLMs можно:
- создать структурированное описание сайта для AI-агентов;
- управлять профилем сайта, картой интентов и каноническими страницами для этих интентов из админки Joomla;
- генерировать llms.txt и llms.json;
- использовать REST API для автоматического заполнения данных;
- отдавать публичную schema-инструкцию для AI-агентов;

В комплект компонента входит плагин markdown-версии страниц Joomla. Системный плагин Joomla, который добавляет альтернативное Markdown-представление страниц сайта. Он позволяет отдавать содержимое страницы в более чистом текстовом формате, удобном для AI-агентов, LLM, поисковых систем и технических интеграций.
Плагин добавляет в ссылки на AI-файлы.

Пакет подходит для сайтов на Joomla 5+, которым важно сделать контент понятнее для LLM, AI-поиска, ассистентов и будущих систем машинного чтения.

Видео:
- ВК Видео
- RuTube
- YouTube

Ссылки:
Страница расширения
GitHub

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 63 Ответов
  • 5671 Просмотров
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #30 : 28.10.2016, 10:38:47 »
Филипп Сорокин:
Вы меня тоже извините. Спасибо за совет!
dmitry_stas:
Попробую, спасибо заранее!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #31 : 28.10.2016, 10:43:20 »
dmitry_stas: Спасибо! Работает! Вопрос с регуляркой конечно остается открытым... ибо хотелось бы оба варианта иметь "про запас".
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #32 : 28.10.2016, 10:55:23 »
Ну как? Культурно распарсить DOM, затем пройтись по скриптам, и также их распарсить.
зачем проходиться циклом, если парсинг нужного делается одной строкой без цикла?

Код
$files = json_decode(explode(';', explode('window.MODULE_CONFIG = ', $str)[1], 2)[0])->modules->clean->init_react->components[0]->props->contents->files;
сделает все, что нужно. потом делайте

foreach($files as $file){
   $href=$file->href;//ссылка
   $size=round($file->bytes/1024/1024,1);//размер
}
и выводите данные
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #33 : 28.10.2016, 16:53:16 »
Та нафиг тогда этот DOM придумали и циклы? Будем тяпляпом фигачить непойми как. Это по-нашему.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #34 : 28.10.2016, 16:59:05 »
Филипп, вы просто так, поговорить? :) DOM придумали для доступа к элементам дерева. циклы - когда надо обойти что то, что нужно либо все сразу, либо одно, но к чему нет прямого доступа. а когда нужно одно, к нему есть прямой доступ, и плюс к этому это "что то" не является элементом дерева, то "тяпляпом фигачить непойми как" - это использовать DOM вместе с циклом :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #35 : 28.10.2016, 18:11:33 »
Циклы и используют после получения коллекции элементов, что в JS, что и в других языках, которые поддерживают DOM. Но я не спорю :)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #36 : 28.10.2016, 18:18:02 »
Но я не спорю :)
не, ну почему же? истина же интересна :) просто я либо не пойму вашей задумки, либо оно ну ни чуть не легче :) циклы это понятно. но... вот нашли вы допустим искомый элемент (скрипт) в дереве (что тоже вопрос - как нашли? проверяя что?). а дальше? регуляркой вырезаете кусок самого скрипта? покажите полностью решение.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

fsv

  • Живу я здесь
  • 2790
  • 414 / 2
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #37 : 28.10.2016, 18:18:21 »
Парсить. Регулярки. То работает, то не работает. А будет ли дальше работать на других ссылках?
API есть. Я понимаю, что
Есть почти готовое решение, проблема чуть поправить регулярку. А Вы предлагает всё заново начинать? Совсем нет времени. Это правда.
, но учитывая, что за 3,5 недели не сделали, можно было бы доки почитать и сделать нормально.
P.S. с API DropBox не работал, сейчас мельком взглянул, могу ошибаться, но вопрос решаемый.
Веб-разработка: заказ. Только новая разработка.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #38 : 28.10.2016, 18:23:49 »
API есть
ну это само собой самое верное решение. и в конечном итоге однозначно надо сделать так, когда во временем попроще будет
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #39 : 28.10.2016, 20:14:30 »
Цитировать
не, ну почему же? истина же интересна Azn просто я либо не пойму вашей задумки

Всё то же самое, что писал Роберт, только поэтапно и через более надёжный метод DOM, который специально для этого предназначен. Затем, конечно же, содержимое элементов обрабатывается регулярками. И без JSON. Какой в нём смысл, если определить границы JSON-строки нереально? На точку с запятой ориентироваться? Так её может и не быть вовсе, или же она может присутствовать внутри JSON. Тогда обломушки.

Собственно, я бы сделал так:

Код: php
$dom = new DOMDocument;
$dom->loadHTML(file_get_contents('https://www.dropbox.com/sh/aev1ky5bjbk8cef/Eq9fDTTyZp'));
$scripts = $dom->getElementsByTagName('script');
$links = array();
foreach ($scripts as $script) {
    if(!empty($script->nodeValue) && preg_match_all('#"href"\s*:\s*"([^"]+)"#is', $script->nodeValue, $matches))
    {
        $links[] = $matches[1];
    }
}
var_dump($links);
« Последнее редактирование: 28.10.2016, 20:39:19 от Филипп Сорокин »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #40 : 28.10.2016, 21:05:27 »
Цитировать
Так её может и не быть вовсе
так тут чего угодно может не быть или не стать :) с таким успехом и href может через время не стать, поменяют структуру, и так далее. как сказал fsv единственное что будет хоть как то более менее долгоиграющее - это юзать API. а без него остается только работать с тем, что есть на данный момент.

в общем ладно :) для себя лично профита не увидел - имхо цикл лишний, регулярок 100500 штук, но может кому то больше понравится.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #41 : 28.10.2016, 21:23:04 »
Цитировать
юзать API
Золотые слова. Отблагодарим fsv репой :)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #42 : 28.10.2016, 21:33:18 »
согласен :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #43 : 30.10.2016, 08:07:54 »
Прошу ещё немного помощи.
В Вашем коде:
Код
$files = json_decode(explode(';', explode('window.MODULE_CONFIG = ', $str)[1], 2)[0])->modules->clean->init_react->components[0]->props->contents->files;
Ругается на одном хостинге:
Код
Parse error: syntax error, unexpected '[' in ...php on line ...
На 3х остальных хостингах работает отлично!
Что может быть? Есть универсальное решение?
:)
Спасибо заранее за помощь!
« Последнее редактирование: 30.10.2016, 08:59:46 от ecolora »
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #44 : 30.10.2016, 08:31:16 »
не понимает массив explode()[]. php версия не подходит, ниже чем нужно. по переменным explode разнести надо

Код
$str = explode('window.MODULE_CONFIG = ', $str);
$str = explode(';', $str[1], 2);
$files = json_decode($str[0])->modules->clean->init_react->components[0]->props->contents->files;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #45 : 30.10.2016, 09:05:36 »
Спасибо! Будем надеяться, что поймёт. ;-)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #46 : 18.11.2016, 05:29:52 »
Dropbox опять поменял код. Коллеги, помогите, пожалуйста ещё раз поправить:
https://www.dropbox.com/sh/aev1ky5bjbk8cef/Eq9fDTTyZp
Пробовал менять код на:
Код
       $str = explode('mod.initialize_module', $str);
       $files = json_decode($str[0])->components[0]->props->contents->files;
Не помогает.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #47 : 18.11.2016, 08:10:14 »
А что в var_dump($str[0]); получается?
А вообще лучше всего воспользоваться https://www.dropbox.com/developers/documentation/http/documentation
« Последнее редактирование: 18.11.2016, 08:18:19 от Arkadiy »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #48 : 18.11.2016, 09:46:37 »
вроде бы
Код
$str = explode('mod.initialize_module(', $str);
$str = explode(')', $str[1], 2);
$files = json_decode($str[0])->modules->clean->init_react->components[0]->props->contents->files;

но вообще, как уже и говорили, это будет постоянно. надо принимать стратегическое решение перехода на API :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #49 : 18.11.2016, 09:58:40 »
Arkadiy:
Я ошибся. Надо $str[1], Такой код:
Код
       $str = explode('mod.initialize_module', $str);
В $str[1] заносит:
Цитировать
({"components": [{"module_name": "modules/clean/react/shared_link_folder/app", "install_hot_reloading_attrs": false, "props": {"fileViewTarget": 1, "showSyncCoachmark": false, "activityContext": 1, "openImmediatelyInApp": false, "accountMenuOptions": {"accountPhotoUrl": null, "showProUpgradeLink": false, "showBusinessUpgradeLink": false, "isPagelet": false, "showNameOnButton": true, "showProGiftingLink": false, "isMaestroDesign": false, "isToolbarAccountPhotoEnabled": false}, "folderShareToken": {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "music", "isPackage": false, "subPath": "", "secureHash": "Eq9fDTTyZp"}, "fileViewOrigin": 16, "membershipRequestOptions": null, "user": null, "folderSharedLinkInfo": {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAh0-dAGBcFoiSzUKQBU9Zra?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, "folderSharePermission": {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, "folder": {"open_in_app_data": null, "is_dir": true, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAh0-dAGBcFoiSzUKQBU9Zra?dl=0", "shared_folder_id": null, "filename": "music"}, "takedownRequestType": null, "contents": {"files": [{"beacon_context": "AAAi0KAWXIcpEOmiB3-fz8JQFN2wImea1Po", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABuk3EGJBK5KDaJRPaEZWEba/Avicii_-_Levels.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAWA", "is_dir": false, "filename": "Avicii_-_Levels.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/JNgff7Sa9VDW9nOrkkKxZCVaP4PSQtn02MpMCVSzCkVfi6xsqU1v5nNLXbKbCcMX/file?dl=0", "bytes": 5342591, "ts": 1343275200, "preview_type": "audio", "sjid": 600, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AACKWEs_2soW_86uFxDWYRhbOZGnQ2MRAUg", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABFNLda_o8FbKHMPdna9I0za/Elka_-_Na_bolshom_vozdushnom_share.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVw", "is_dir": false, "filename": "Elka_-_Na_bolshom_vozdushnom_share.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/y4bX3ddlyPkRJEp1pFif5EoQP54EucC9qkoEoln7aIosQ3RFHCF6TVnMfkIAcWnG/file?dl=0", "bytes": 7703274, "ts": 1343275413, "preview_type": "audio", "sjid": 601, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AABNug88BxPMeWVvTT9hZ8F97MytPTws5xU", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAClbr7-M-MhQLH8W0iw6e8va/Fly_project_-_Musica.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVg", "is_dir": false, "filename": "Fly_project_-_Musica.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/VoFHOXwvIJRH0Z63MPExR37Tz8mSqxTspMahx4VP8kVK7Vr1DQCkI7YcgACQMCBG/file?dl=0", "bytes": 8773280, "ts": 1343275612, "preview_type": "audio", "sjid": 602, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AADSY3-2HCt4d9jgweUPDtlDVFt4tARTg8I", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACiK9iSmHZEsSm2udEgsb1oa/Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVQ", "is_dir": false, "filename": "Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/UKs42PzhXwBbbLRhntJqRTlwmF5H0ubBfETC87MPvgreXMwSUUQlDhs2NMSsYjtG/file?dl=0", "bytes": 8054350, "ts": 1343275796, "preview_type": "audio", "sjid": 603, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AABmN52qlgbg5nokiqNeLaLhh-S22QqOeMo", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADL6Fzzl2KR8UM79LR8HHKKa/Michel_Telo_-_Barabarabara_bereberebere.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAVA", "is_dir": false, "filename": "Michel_Telo_-_Barabarabara_bereberebere.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/V2RJTSIt1cM3e7Gk9yxcIE81VVRRAMWS5bfbldKThkb1T66nTdtA5524Uu4stjxX/file?dl=0", "bytes": 7100800, "ts": 1343278355, "preview_type": "audio", "sjid": 604, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AAASkLdMB8Nh-BHg7jVD7X5NsJ-IcEmFyLM", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAhLbTZZ89aU-FoITwkk85Ya/Quest_Pistols_-_Ty_tak_krasiva.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUw", "is_dir": false, "filename": "Quest_Pistols_-_Ty_tak_krasiva.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/cqNc7sqGYTZYBcrk00khJEdUqF04J52EaubCYTYtFLdQmQ9q8EmNPT0oPARKRzf8/file?dl=0", "bytes": 6939435, "ts": 1343278697, "preview_type": "audio", "sjid": 605, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AADmwOWGWMPM5Q9fHEsUx_nX1PQWrD4zEc0", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADW-_YrNqY1OK8qz_qElKy1a/Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUg", "is_dir": false, "filename": "Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/3ps63d6IFSQPLIKPA2OP5tgzYQWkeEY4fiyf0BPepP8PCNLOrqB3uzLc9jOzKdQp/file?dl=0", "bytes": 6037277, "ts": 1343278849, "preview_type": "audio", "sjid": 606, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AABIwWycm2tBL_yJg0PegXY79342MZl0NAo", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABZtc3Cllei6ICPEEMSxt7ca/Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUQ", "is_dir": false, "filename": "Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/HDIS7gEHWTJr8xBIyn49BIa8Zl8J5jcNxsEPwxu6kxOsR4VzuS18oDH271m7yJpp/file?dl=0", "bytes": 8432413, "ts": 1343279071, "preview_type": "audio", "sjid": 607, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AAD6PQigzQf0P8egGRnnuxmXZYvfQLT5rpQ", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACoEi4uj50D_w9hdNaDS1qua/Wonder_Girls_-_Nobody.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAAUA", "is_dir": false, "filename": "Wonder_Girls_-_Nobody.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/atlDHJBywqGLed4fLMRQtBPT5vHoPDHpLdCrwtm7w0N3Pa4N1rKjx0lH5nLJvrfg/file?dl=0", "bytes": 8604053, "ts": 1343279319, "preview_type": "audio", "sjid": 608, "thumbnail_url_tmpl": null, "ns_id": 73437149}, {"beacon_context": "AADlFqkeXFGuM9y2E30K7AYRO0GPqK2nHYk", "preview_url": null, "href": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABzEaLDdEg-LKxm5AbzCpj7a/Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3?dl=0", "file_id": "id:Zc29slfnksAAAAAAAAAATw", "is_dir": false, "filename": "Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3", "direct_blockserver_link": "https://dl.dropboxusercontent.com/content_link/nc8F7EEcpq80eTItu9B4C4dLo2daxpagIZs2ilHRCkh0KUANTzdXboYW3xVyezLi/file?dl=0", "bytes": 10830272, "ts": 1343279586, "preview_type": "audio", "sjid": 609, "thumbnail_url_tmpl": null, "ns_id": 73437149}], "folders": [], "fileSharedLinkInfos": [{"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABuk3EGJBK5KDaJRPaEZWEba/Avicii_-_Levels.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABFNLda_o8FbKHMPdna9I0za/Elka_-_Na_bolshom_vozdushnom_share.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAClbr7-M-MhQLH8W0iw6e8va/Fly_project_-_Musica.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACiK9iSmHZEsSm2udEgsb1oa/Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADL6Fzzl2KR8UM79LR8HHKKa/Michel_Telo_-_Barabarabara_bereberebere.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AAAhLbTZZ89aU-FoITwkk85Ya/Quest_Pistols_-_Ty_tak_krasiva.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AADW-_YrNqY1OK8qz_qElKy1a/Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABZtc3Cllei6ICPEEMSxt7ca/Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AACoEi4uj50D_w9hdNaDS1qua/Wonder_Girls_-_Nobody.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}, {"url": "https://www.dropbox.com/sh/aev1ky5bjbk8cef/AABzEaLDdEg-LKxm5AbzCpj7a/Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3?dl=0", "ownerTeamName": null, "ownerName": "Anton Zaytsev", "ownerTeamLogo": null}], "fileSharePermissions": [{"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}, {"canCopyToDropboxRoles": ["anonymous"], "canRemoveLinkUids": [], "canPrintRoles": ["anonymous"], "canDownloadRoles": ["anonymous"], "canSyncToDropboxRoles": [], "canViewContextMenuRoles": ["anonymous"]}], "fileShareTokens": [{"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Avicii_-_Levels.mp3", "isPackage": false, "subPath": "/Avicii_-_Levels.mp3", "secureHash": "AABuk3EGJBK5KDaJRPaEZWEba"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Elka_-_Na_bolshom_vozdushnom_share.mp3", "isPackage": false, "subPath": "/Elka_-_Na_bolshom_vozdushnom_share.mp3", "secureHash": "AABFNLda_o8FbKHMPdna9I0za"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Fly_project_-_Musica.mp3", "isPackage": false, "subPath": "/Fly_project_-_Musica.mp3", "secureHash": "AAClbr7-M-MhQLH8W0iw6e8va"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3", "isPackage": false, "subPath": "/Maroon_5_feat._Christina_aguilera_-_Moves_like_jagger_.mp3", "secureHash": "AACiK9iSmHZEsSm2udEgsb1oa"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Michel_Telo_-_Barabarabara_bereberebere.mp3", "isPackage": false, "subPath": "/Michel_Telo_-_Barabarabara_bereberebere.mp3", "secureHash": "AADL6Fzzl2KR8UM79LR8HHKKa"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Quest_Pistols_-_Ty_tak_krasiva.mp3", "isPackage": false, "subPath": "/Quest_Pistols_-_Ty_tak_krasiva.mp3", "secureHash": "AAAhLbTZZ89aU-FoITwkk85Ya"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3", "isPackage": false, "subPath": "/Selena_gomez_and_The_scene_-_Love_you_like_a_love_song_.mp3", "secureHash": "AADW-_YrNqY1OK8qz_qElKy1a"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3", "isPackage": false, "subPath": "/Stromae_-_Alors_on_dance_DJ_Pomeha_radio_remix.mp3", "secureHash": "AABZtc3Cllei6ICPEEMSxt7ca"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Wonder_Girls_-_Nobody.mp3", "isPackage": false, "subPath": "/Wonder_Girls_-_Nobody.mp3", "secureHash": "AACoEi4uj50D_w9hdNaDS1qua"}, {"linkType": "s", "itemId": null, "linkKey": "aev1ky5bjbk8cef", "displayName": "Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3", "isPackage": false, "subPath": "/Yolanda_be_cool_and_Dcup_-_We_no_speak_americano.mp3", "secureHash": "AABzEaLDdEg-LKxm5AbzCpj7a"}]}, "outOfQuota": false}, "elem_id": "component9114370474989968945", "component_name": "SharedLinkFolderApp"}]}); })],[["modules/clean/legacy_pyxl_controllers/tabbable"], (function(mod){ var init =
И почему это не работает, не понятно:
Код
$files = json_decode($str[1])->components[0]->props->contents->files;
dmitry_stas: Ваш вариант к сожалнию не помог
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #50 : 18.11.2016, 10:07:15 »
Потому, что к json примешиваются ненужные символы. Во первых ( в начале совершенно лишняя, во вторых в конце наверняка тоже много лишнего. На первый взляд это )],[["modules/clean/legacy_pyxl_controllers/tabbable"], (function(mod){ var init =
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #51 : 18.11.2016, 10:09:56 »
Честно говоря, вообще не до конца понимаю, какая д.б. структура для JSON и что вырезать в итоге (старею, занят другой деятельностью)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #52 : 18.11.2016, 10:14:34 »
Внутри текста есть объект. В json он находится внутри {}, внутри объекта есть свойства, они могут быть объектами {}, массивами [], строками "" или числами. Других видов данных я не припомню. Названия свойств заключаются в двойные кавычки, через двоеточие идет значение свойства ("property": 1), свойства разделяются запятыми. Вот вроде и все примудрости.
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #53 : 18.11.2016, 10:18:05 »
Кто-нибудь может сказатЬ, какой должен быть код, чтобы получить нужный массив $files?
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #54 : 18.11.2016, 10:21:41 »
$files = json_decode($str[0])->components[0]->props->contents->files;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #55 : 18.11.2016, 10:24:04 »
dmitry_stas:
$str[0] вообще не содержит даже подобие JSON, он в $str[1] и то с мусором. :-(
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #56 : 18.11.2016, 10:35:14 »
я написал как надо сделать. вопрос был только в последней строке, которую исправил позже.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #57 : 18.11.2016, 11:00:26 »
Для начала надо подготовить валидный json, потом его декодировать, иначе ничего не получится.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #58 : 18.11.2016, 11:17:09 »
он и подготовлен :) тот код, который я написал, полностью рабочий. с учетом последней правки
Код
$files = json_decode($str[0])->components[0]->props->contents->files;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Вытащить все ссылки на файлы с DropBox
« Ответ #59 : 18.11.2016, 11:37:37 »
dmitry_stas:
Спасибо! Всё действительно работает!
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужно править редирект компонента FAQ book Pro

Автор cantsave

Ответов: 0
Просмотров: 1040
Последний ответ 12.06.2017, 15:53:08
от cantsave
Безопасность, был взлом

Автор Dmitriy M

Ответов: 2
Просмотров: 1013
Последний ответ 25.02.2017, 21:55:44
от voland
необходим ряд доработок для VirtueMart 3

Автор winni-pyx

Ответов: 9
Просмотров: 1330
Последний ответ 21.12.2016, 12:01:40
от dmitry_stas
Странное поведение is_dir

Автор ecolora

Ответов: 23
Просмотров: 1088
Последний ответ 01.11.2016, 07:48:21
от Филипп Сорокин