Платформа зенда PHP - как добраться, запрашивает фрагмент URI от объекта запроса?

Скажите, например, у меня есть URI http://127.0.0.1/somecontroller/someaction#12345 это берет меня к someAction() действие someController контроллера. Оттуда, я могу получить объект Запроса через $this->getRequest().

я также могу получить различную информацию относительно URI от объекта Запроса.

Но, как я могу получить фрагмент (т.е. "12345" часть после # в, например)? Ни один getRequestUri() ни getParams() поднимите часть фрагмента.

Спасибо!

7
задан Edwin Lee 2 February 2010 в 01:12
поделиться

3 ответа

Фрагментная часть URL-адреса никогда не отправляется на сервер через GET-запросы (или любые другие HTTP-запросы, если на то пошло). Это единственный способ получить его, если вы напишете фрагмент Javascript, который анализирует URL-адрес и отправляет фрагмент обратно на сервер, например, через Ajax.

Это невозможно сделать только с помощью PHP.

27
ответ дан 6 December 2019 в 05:55
поделиться

На ANSI _ escape _ code показана следующая последовательность: Выберите графическое представление (вероятно, полужирным ).

Попробуйте управлять позиционированием столбца с помощью CUrsor позиция ( CSI n; m H ). Таким образом, ширина предыдущего текста не влияет на текущее положение столбца, и нет необходимости беспокоиться о ширинах последовательности.

Лучшим вариантом, если вы нацелены на Unix, является использование curses module window-objects . Например, последовательность может располагаться на экране с помощью:

window.addnstr ([y, x], str, n [, attr])

Раскрашивать не более n символов последовательности str at (y, x) атрибутами attr, перезаписывая что-либо ранее на дисплее.

-121--2281002-

После этого предыдущего вопроса сокращения зон не распознаются. Попробуйте следующее:

DateTime parsed = DateTime.ParseExact(
    "Tue Feb 16 12:36:41 CST 2010".Replace("CST", "+02:00"), 
    "ddd MMM dd HH:mm:ss zzz yyyy",
    new CultureInfo("en-GB"));

Эти ссылки также могут быть полезны:

-121--4903961-

В соответствии со спецификацией протокола HTTP часть фрагмента игнорируется. Однако браузеры поддерживают перенаправления с хэшем.

При автоматическом создании хэшей в качестве параметра запроса можно передать id : http ://127.0.0.1/somecontroller/someaction/id/12345/# 12345

и затем:

$ this- > getRequest () - > getParam ('id')

Но это приведет к горячей обработке обращения только с хэшем, например, когда пользователь вводит URL вручную.

3
ответ дан 6 December 2019 в 05:55
поделиться

Не могли бы вы использовать функции php explode ("#", $ _ SERVER ['REQUEST_URI'])? Возможно, я неправильно понял вопрос.

0
ответ дан 6 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: