| 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: 12 let
|
|||
0