Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг значение переменной из Javascript кода. Как узнать значение этой переменной. 
V
    Опции темы
Shogun
Дата 22.12.2008, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



Прет всем!


Есть например такой исходный код страницы:

Код

<html>
  ...

  <script type="text/javascript" language="javascript"> 

    var title = 'Добрый день!';
    var message = 'Блаблабла...';

  </script>

  ...
</html>



Как через PHP узнать значение переменной title??  smile  smile 





--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
theworldcreator
Дата 22.12.2008, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



в довольно неуниверсальном случае организуем такой цикл:
ищем позицию первого <script
позицию первого </script>
берем то, что между ними
регуляркой примерно следующего содержания получаем переменные:
Код

/var +([a-z_]+[a-z_0-9]*) *= *('|"|)(.*)('|"|)/i

повторяем пока "<script" не закончатся

Это сообщение отредактировал(а) theworldcreator - 22.12.2008, 02:19
PM MAIL WWW ICQ   Вверх
Nigel
Дата 22.12.2008, 04:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: 7
Всего: 19



Shogun, вам сюда http://phpfaq.ru/na_tanke
PM MAIL   Вверх
skyboy
Дата 22.12.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



однако, прав либо theworldcreator, либо Nigel. А все потому, что товарищ Shogun недостаточно ясно описал задачу: то ли это своя же страница, то ли чужая.
PM MAIL   Вверх
xoma
Дата 22.12.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 4.4.2007

Репутация: нет
Всего: нет



согласен с skyboy...

Может вообще POST - тогда через hidden.....
PM MAIL WWW   Вверх
Shogun
Дата 22.12.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



Это код чужой страницы.

Получаемый например так: $source = file_get_contents('http://site/stranitsa.html');

Вроде понятно тему назвал: Парсинг значение переменной из Javascript кода.


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
Shogun
Дата 24.12.2008, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



theworldcreator - можно по подробнее??


Ктото может показать работающий пример??


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
theworldcreator
Дата 24.12.2008, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Я там по пунктам вроде написал... Какой именно непонятен?
PM MAIL WWW ICQ   Вверх
Dima 2015
Дата 24.12.2008, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



theworldcreator, а если переменная сначала объявлена, а потом только ей присваивается значение?

Например:
var variable;
// пурум пурум...
variable = 15;

Или вообще без var, а сразу variable = 15, знаю что не по фен-шую, но очень многие так пишут, и я в том числе недавно также писал пока старшие товарищи по рукам не дали...
В прочем ты и сказал что это неуниверсальный случай...

Это сообщение отредактировал(а) Dima 2015 - 24.12.2008, 18:16
PM MAIL ICQ   Вверх
theworldcreator
Дата 24.12.2008, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Dima 2015
Хочешь чтобы все было по "фен-шую", лезь в исходники парсера JS...
PM MAIL WWW ICQ   Вверх
Dima 2015
Дата 24.12.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



theworldcreator, тоже верно : )))

А это реально вообще?
PM MAIL ICQ   Вверх
theworldcreator
Дата 24.12.2008, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Ну на PHP переписывать объешься, гораздо реальней, ИМХО, сделать демона на родном языке парсера, к которому PHP обращаться будет. Хотя почему то уверен, что в данном случае достаточно внимательного рассмотрения сайта, с которого топикстартер спереть что то хочет. Вы только не обижайтесь, но я правда сомневаюсь что он планирует выйти за выше обозначенную задачу.
PM MAIL WWW ICQ   Вверх
Shogun
Дата 25.12.2008, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



theworldcreator - очень даже намерен, у меня уже дальнейшие шаги не составит труда самому реализовать, просто значение этой переменной первый шаг к реализации того что задумал.

Если те так интересно то это live scoring с офф сайта каторый я хочу вывести через Flash + PHP или AJAX на мой сайт.

Обьява переменной начинается с "var".


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
Shogun
Дата 25.12.2008, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



Проблема решена, спасибо всем кто пытался помочь. ;)

Решил задачу при помощи простого strpos(); =)) ;) 


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
theworldcreator
Дата 25.12.2008, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 362
Регистрация: 25.8.2007
Где: Москва

Репутация: 10
Всего: 13



Цитата

очень даже намерен

Цитата

это live scoring с офф сайта каторый я хочу вывести через Flash + PHP или AJAX на мой сайт.

Ну так это ровным счетом то, что я говорил. Есть конкретный сайт с которого надо спереть(я не упрекаю вас в каком то нехорошем деяние, я не знаю, может они в копирайтах написали "берите что хотите", все равно это спереть в данном случае, ибо информацию надо парсить из JS) данные. Если в первом посте вы просили парсить из "например такой страницы", то-есть сделать универсальный парсер, то потом, как я и говорил, оказалось, что достаточно выявить характерные особенности данного конкретного сайта, тут даже регулярки не нужны.
Цитата

у меня уже дальнейшие шаги не составит труда самому реализовать, просто значение этой переменной первый шаг к реализации того что задумал.

Так причем здесь дальнейшие шаги? Я говорил именно об этой задаче, что вы не делаете например сервис валидации JS, а просто хотите распарсить конкретную страницу.

Добавлено через 2 минуты и 8 секунд
Цитата

ищем позицию первого <script
позицию первого </script>

здесь как раз я говорил о strpos(), если бы вы спросили как реализовать первый шаг, я бы ответил, а так решил не останавливаться на банальной реализации, а просто показать алгоритм.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0841 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.