За последние 24 часа нас посетили 15179 программистов и 1671 робот. Сейчас ищут 984 программиста ...

Выковырять переменную из url

Тема в разделе "Прочие вопросы по PHP", создана пользователем Cutup, 18 май 2014.

  1. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    Вопрос: Как средствами php выковырять значания из строки: http://mysite.ru/page.php#!/valum=hello-world
    сайт мой не парсинг, но контент наполняется скриптом живущим на другом сервере, и вот этот скрипт открывает страницу (http://mysite.ru/page.php) с выдаваемой информацией уже с #!/valum=hello-world
    при этом каждый раз меня титл, что круто конечно, но... хочу понимать какое содаржимое вываливает мне скрипт и добавлять к нему в зависимости от этого что-нить от себя.... если нереально прочитать #!/valum=hello-world (например, как вы понимаете после = может быть что угодно) то есть ли какой нибудь способ идентифицировать на какой динамической страничке я нахожусь? ну или я всёж надеюсь что считать строку, точнее переменную из такой строки всёж можно! спасите )
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    посмотри http://php.ru/manual/function.parse-url.html дальше ковыряй
    или просто разбей explode по = если всего 1 параметр
    можно регулярками, в принципе много как еще можно.

    Добавлено спустя 12 минут 54 секунды:
    еще посмотри про parse_str забавная функция, че то раньше ей не пользовался. Правда урл порезать надо и т.д.
     
  3. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    Так-то оно так... только как получить этот урл целиком? Стандартные фунции типа $_SERVER дают считать параметры только типа ?valum=hello-world а тут выходит вона какая загагулина #!/valum=hello-world
     
  4. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    Меня тут недавно научили.
    Код (PHP):
    1. echo $_GET['valum'];
     
  5. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Я то подумал что ты уже как то вытащил.
    Как то не понятно написано
    т.е. в зависимости от valum заголовок меняется? Посмотри тогда в коде как делается.

    Не тот случай. Проверь.
     
  6. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    echo $_GET['valum'] не работает...
    пока путем умственных усилий нашел чем можно получить адрес, но от этого не легче...пока.
    вот это показывает код со всеми загагулинами, теперь в php затащить надо переменную...
    <SCRIPT LANGUAGE="JavaScript">
    document.write(document.URL);
    </SCRIPT>
     
  7. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    #!- да что это вообще за куйня неведомая?

    Добавлено спустя 1 минуту 35 секунд:
    может это результат кривого RewriteRule
     
  8. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Ну, к примеру такая штука используется в AngularJS. Всё что после # не попадает к php, а парсится на стороне клиента и там уже роутер стучится / грузит что нужно, либо пинает какой-нибудь контроллер.

    Сказал бы чего ещё, но не смог понять что нужно топикстартеру, где он берет эти ссылки, куда стучится и почему нельзя напрямую коннектиться либо реализовать API и не заморачивать себе голову ерундой.

    http://angular.ru/tutorial/step_06
     
  9. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    это страница показывает описание отелей которое генериться автоматически скриптом, который предоставляет другой сервер. Я хочу в зависимости от того что отображает скрипт добавлять описание и коментарий от себя. подробней можно понять о чем речь по ссылке например http://e-good.ru/strany.php#!/hotel=amanpulo
    хотя походу несмотря ни на что выход наверное один ... забрать переменную из
    Код (Text):
    1. <SCRIPT LANGUAGE="JavaScript">
    2. document.write(document.URL);
    3. </SCRIPT>
     
  10. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    Невыходит... помогите выковырять переменную теперь из джавы в пхп...
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Прям из Java? Оо.
    php.net/manual/ru/book.java.php
     
  12. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    % даже незнаю что сказать, английский не самая сильная моя сторона... Но как я понял это что-то такое что нужно ставить на сервер а потом как-то использовать. Продолжу гуглить... и конечно былбы благодарен за простой пример забора переменной из явы.. так проще понять ессесино.
     
  13. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Java - это на JavaScript
    кури ajax запросы
     
  14. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    вот вариант, но и он зладей не кажет полный урл... что типа то что после # непередаётся чтоли в get?

    Код (Text):
    1. <?php
    2. if (isset($_GET['url']))
    3. {
    4.     echo "Значение JavaScript-переменной: ". $_GET['url'];
    5. }
    6. else
    7. {
    8.     echo '<script type="text/javascript">';
    9.     echo 'document.location.href="' . $_SERVER['REQUEST_URI'] . '?url=" + document.URL';
    10.     echo '</script><br />';
    11.     exit();
    12. }
    13. ?>
    Добавлено спустя 2 минуты 1 секунду:
    Вот что выдаёт:
     
  15. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    ну так я же говорю #! куйня неведомая
     
  16. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Cutup, лучше делать чтобы это отправляли, а не выбросили автономно, если вы хотите сделать только 1 раз, можно сделать тогда чтобы:
    Код (PHP):
    1. If(url!=saveUrl) {
    2.     // jquery -> method .get() : 
    3.     $.get('url',function(html) {
    4.         $('элемент').html(html);
    5.     });
    6. }
    Как я понял у вас там постоянно он шлет сам одно и-тоже, похоже интервал или какая-то зацикленность (рекурсия).
    Покажите больше скрипта - это только php показали, а там где написали запрос не показали, сложно понять почему, то что у вас прописано
    document.location.href - это и есть перемещение в данный момент и видимо вы накосячили именно там где запрос js-ajax.
     
  17. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    всё что js-ajax это на стороне поставщика услуг (поиск туров и описание отелей) со стороннего сервера, я всего лишь хочу к конкретному описанию отеля, выводящимуся скриптом, добавлять свой текст в зависимости от того что показывает скрипт... и единственным ключём вижу урл по которому в базе будут храниться статьи которые будут выводиться в зависимости от отображаемого содержимого. сео-зло :), а яндекс не умеет видеть скрипт-страницы в отличии от гугла, посему надо помочь яше... по сути мне и переадресация ненужна, мне просто получить ключ надо!
     
  18. Cutup

    Cutup Новичок

    С нами с:
    18 май 2014
    Сообщения:
    9
    Симпатии:
    0
    Решение есть... собственно это передача переменной любой из java в php... мне не повезло немного из-за кривого js-ajax но может кому пригодиться (вместо document.URL можно ставить переменную):
    Код (Text):
    1. $a='<script>document.write(document.URL)</script>';
    2. echo 'A='.$a;