Autor | Zpráva | ||
---|---|---|---|
mot Profil * |
#1 · Zasláno: 23. 2. 2014, 15:17:29
Zdravím, obracím se na vás s prosbou o návrh řešení. Dostávám aktuální teplotu pomocí http://lkso.dyndns.org:85/teplota_plovarna.php. Chci si teplotu ukládat do databáze. V php mám zatím
<?php $teplota = file_get_contents('http://lkso.dyndns.org:85/teplota_plovarna.php'); echo $teplota; ?> <span>teplota</span> |
||
Fisir Profil |
Reaguji na mota:
preg_match("/<span>((\d+)(,\d+)?) °C<\/span>/", $teplota, $teplota); $teplota = str_replace(",", ".", $teplota[1])*1; $teplota si můžeš ukládat do databáze rovnou jako číslo.
|
||
mot Profil * |
#3 · Zasláno: 23. 2. 2014, 15:50:56
Fisir:
Děkuji! Jinak " °C" jsem měl v plánu odstranit a "," nahradit za "." taky. Jsem PHP samouk (mám za sebou 2 semestry javy, takže nějaký to povědomí o programování mám). Ještě jednou děkuji za radu ;) |
||
mot Profil * |
#4 · Zasláno: 23. 2. 2014, 18:37:05
Když to zkouším, háže to chybu
Notice: Undefined offset: 1 in C:\wamp\www\teplota.php on line 4
<?php $teplota = file_get_contents('http://lkso.dyndns.org:85/teplota_plovarna.php'); preg_match("/<span>((\d+)(,\d+)?) °C<\/span>/", $teplota, $teplota); $teplota = str_replace(",", ".", $teplota[1])*1; echo $teplota[1]; ?> |
||
Fisir Profil |
Reaguji na mota:
Použij jen echo($teplota); .
|
||
mot Profil * |
#6 · Zasláno: 23. 2. 2014, 20:17:47
Stále to samé. Před tím, jsem to echo měnil a stejně na to nemá vliv, protože chyba je na řádku
$teplota = str_replace(",", ".", $teplota[1])*1;
|
||
juriad Profil |
Toto funguje:
<?php $teplota = file_get_contents('http://lkso.dyndns.org:85/teplota_plovarna.php'); preg_match("/<span>(-?(\d+)(,\d+)?) \xb0C<\/span>/", $teplota, $teplota); $teplota = str_replace(",", ".", $teplota[1])*1; echo $teplota; ?> 1) zapomněl jsi na záporné hodnoty 2) znak stupeň je zakódován jako byte \xb0; se znakem stupeň mi to nefungovalo |
||
mot Profil * |
#8 · Zasláno: 23. 2. 2014, 20:47:15
Děkuji za příspěvek. Když jsem to zkoušel odpoledne, tak bylo nad nulou a stejně to nefungovalo.
|
||
rafej Profil |
#9 · Zasláno: 24. 2. 2014, 18:05:40
Verze od juriada bez problémů funguje. Jediné, co mě napadá je, zda máš správně nastavené kódování.
|
||
Tori Profil |
Jelikož na té stránce nic jiného není, tak bych klidně použila i méně přesné zadání:
preg_match("/<span>(-?(\d+)(,\d+)?) .C<\/span>/", $teplota, $teplota); |
||
Časová prodleva: 10 let
|
0