Как редактировать Web-переменную

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Как редактировать Web-переменную

Сообщение Antonq » Чт окт 10, 2013 4:52 pm

Парсится погода в таком виде +0,1 или −1,5
Нужно заменить запятую и −
Если ставить код на изменение

$value=$params['VALUE'];
$temp=str_replace(',','.',$value);
setGlobal('ThisComputer.TempOutside',$temp);

То он все равно не срабатывает(пока пытаюсь хоть запятую заменить)
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Как редактировать Web-переменную

Сообщение LutsenkoDenis » Чт окт 10, 2013 7:55 pm

А так?

Код: Выделить всё

$temp = str_replace("−","-",str_replace(",", ".", $value)); 
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Как редактировать Web-переменную

Сообщение Antonq » Чт окт 10, 2013 8:39 pm

Да дело не в этом, сам сприкт не отрабатывает в том месте.
То есть он должен стоять где-то после спарсивания, но до присвоения глобальной переменной)
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Как редактировать Web-переменную

Сообщение LutsenkoDenis » Пт окт 11, 2013 12:02 am

Antonq писал(а):Парсится погода в таком виде +0,1 или −1,5
Нужно заменить запятую и −
Если ставить код на изменение

Код: Выделить всё

$value = $params['VALUE'];
$temp = str_replace(',','.',$value);

setGlobal('ThisComputer.TempOutside',$temp);
 
То он все равно не срабатывает(пока пытаюсь хоть запятую заменить)
Ну я тогда что-то не понимаю...короче, вот код(см. ниже). Вставляй его и смотри лог и или вывод в браузер. Расскажи потом что не так.

Код: Выделить всё

// Парсится погода в таком виде +0,1 или −1,5
// Нужно заменить запятую и −
// $value = "−1,5";  // данные для теста
// DemMes - запись в лог файл, echo - вывод в браузер (ненужное закоментировать)

// переменная которую надо обработать
$value = $params['VALUE'];
DebMes("1. значение переменной = " . $value);
echo "1. значение переменной = " . $value;

if (isset($value)) // проверяем есть ли у нас чтото в этой переменной
{
   // результат обработки переменной
   $temp  = str_replace("−","-",str_replace(",", ".", $value));

   DebMes("2. обработанное значение переменной = " . $temp);
   echo "2. обработанное значение переменной = " . $temp;
   
   // запись переменной в глобал
   setGlobal('ThisComputer.TempOutside',$temp);
   DebMes("3. записали в глобальную переменную");
   echo "3. записали в глобальную переменную";
}
else
{
   DebMes("4. переменная не содержит значений, т.е. не существует");
   echo "4. переменная не содержит значений, т.е. не существует";
}

 
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Как редактировать Web-переменную

Сообщение Antonq » Пт окт 11, 2013 8:24 am

Да все верное, где этот скрипт вставлять то?
Я пробовал в коде на изменение
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Как редактировать Web-переменную

Сообщение LutsenkoDenis » Пт окт 11, 2013 11:38 am

ну, я так понимаю что там где парсится погода.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Как редактировать Web-переменную

Сообщение Antonq » Пт окт 11, 2013 3:28 pm

11.10.2013 19:24:31
1. znachenie peremennoy= −1,8
11.10.2013 19:24:31
2. obrabotannoe znachenie peremennoy = -1.8
11.10.2013 19:24:31
3. zapisali globalnuu peremennuu


Там с русским проблемы, я на транслит перевел все
Получается он отрабатывает, но переменная все равно в итоге остается со старым значением
Вложения
Снимок экрана 2013-10-11 в 19.28.50.png
Снимок экрана 2013-10-11 в 19.28.50.png (26.41 КБ) 8892 просмотра
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Как редактировать Web-переменную

Сообщение Antonq » Пт окт 11, 2013 3:31 pm

Я кажется понял в чем дело, она изменилась, скрипт отработал, потом он опять ее грабит, а она не изменилась и ставит снова старое значение, так может быть?
LutsenkoDenis
Сообщения: 521
Зарегистрирован: Вс апр 07, 2013 9:30 pm
Откуда: Moscow
Благодарил (а): 2 раза
Поблагодарили: 58 раз
Контактная информация:

Re: Как редактировать Web-переменную

Сообщение LutsenkoDenis » Пт окт 11, 2013 3:47 pm

Вот уж не знаю...
На мой взгляд, если значение не изменилось, то и незачем его переписывать.

Можешь скинуть целиком описание. Ну как, что и куда ты вставляешь, откуда погоду берешь(если конечно не с датчика :)), по какому событию вставляешь. А я домой вернусь и попробую воспроизвести у себя.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Antonq
Сообщения: 39
Зарегистрирован: Пн окт 07, 2013 6:15 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Как редактировать Web-переменную

Сообщение Antonq » Пт окт 11, 2013 3:53 pm

с ngs.ru
Погода<\/a><\/strong>\:&nbsp;(.+?)&nbsp;&deg;

связанный объект - ThisComputer.TempOutside (может его не указывать?)

Код: Выделить всё

// Парсится погода в таком виде +0,1 или &minus;1,5
// Нужно заменить запятую и &minus;
// $value = "&minus;1,5";  // данные для теста
// DemMes - запись в лог файл, echo - вывод в браузер (ненужное закоментировать)

// переменная которую надо обработать
$value = $params['VALUE'];
DebMes("1. znachenie peremennoy= " . $value);
echo "1. znachenie peremennoy = " . $value;

if (isset($value)) // проверяем есть ли у нас чтото в этой переменной
{
   // результат обработки переменной
   $temp  = str_replace("&minus;","-",str_replace(",", ".", $value));

   DebMes("2. obrabotannoe znachenie peremennoy = " . $temp);
   echo "2. obrabotannoe znachenie peremennoy = " . $temp;
   
   // запись переменной в глобал
   setGlobal('ThisComputer.TempOutside',$temp);
   DebMes("3. zapisali globalnuu peremennuu");
   echo "3. zapisali globalnuu peremennuu";
}
else
{
   DebMes("4. peremennaya ne soderjit znacheniy , ne sushestvuet");
   echo "4.  peremennaya ne soderjit znacheniy , ne sushestvuet";
}

 
Ответить