[PHP]zawartość pliku jako liczba |
[PHP]zawartość pliku jako liczba |
7.11.2019, 09:00:12
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.11.2019 Skąd: Niesiołowice Ostrzeżenie: (0%) |
Witam wszystkich. Jestem absolutnym początkującym więc proszę, nie obrażajcie się na banalność pytania.
Używam aplikacji, która generuje plik TXT. Plik wysyłam na serwer jako PHP i wyświetlam wartość z pliku na swojej stronie pogodowej. Zawartość pliku jest następująca: Kod <span style="border: 1px solid black;text-align:center;background:green;color: white"> 20.12 </span> Liczba w treści (w tym przypadku 20.12 zmienia się (jest zależna od temperatury i wilgotności otoczenia w momencie generowania pliku). Pytanie. Czy da się "wyjąć" tą liczbę z pliku i podstawić jako wartość zmiennej? Chciałbym tą zmienną użyć do wyświetlania właściwego (w zależności od wielkości liczby) obrazka. Pozdrawiam, Piotr |
|
|
7.11.2019, 09:04:06
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
A czy aplikacja może generować plik w innym formacie typu json? Tak trzeba parsować regexpami.
-------------------- |
|
|
7.11.2019, 09:07:03
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.11.2019 Skąd: Niesiołowice Ostrzeżenie: (0%) |
|
|
|
7.11.2019, 09:10:00
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
7.11.2019, 10:05:57
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.11.2019 Skąd: Niesiołowice Ostrzeżenie: (0%) |
Dzięki ale: 1. Myślę, że w tym przypadku "wynikowe" $matches ciągle nie jest liczbą. Użycie skryptu:
daje wynik: 20.12 bool(false) 2. Jak napisałem w pierwszym poście, liczba w treści pliku zmienia się i w związku z tym nie mogę (nie umiem) wstawić jako "$string" jego zmieniającej się treści treści. Chciałbym więc użyć nazwy tego pliku (niech ten plik nazywa się "pwsFWIcurrent.php" - to jest jego rzeczywista nazwa) do "wyciągania" z jego treści tej liczby. Piotr |
|
|
7.11.2019, 10:22:00
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Nie jest liczbą bo wynik zawiera spacje. Nie wiem czy masz tam encje czy spacje jako białe znaki bo forum mogło przekonwertować.
-------------------- |
|
|
7.11.2019, 15:36:57
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.11.2019 Skąd: Niesiołowice Ostrzeżenie: (0%) |
Nie jest liczbą bo wynik zawiera spacje. Nie wiem czy masz tam encje czy spacje jako białe znaki bo forum mogło przekonwertować. Treść pliku jest dokładnie taka jak w moim poprzednim poście. Jeśli chodzi ci o w treści to nawet po ich wykasowaniu z wyjściowego pliku sytuacja się nie zmienia. ciągle wynik wygląda tak: 20.12 bool(false) . Piotr |
|
|
7.11.2019, 15:55:04
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
eeeeeeee.......
skoro kod echo $matches[1]; var_dump(is_float($matches)); daje ci w wyniku 20.12 bool(false) No to wszystko jest ok. Swoja liczbe masz pod $matches[1] I oczywiscie ze is_float zawsze da ci false na tym, bo to jest tekst 20.12 Jak tak bardzo chcesz by to byla liczba 20.12 - co przy wyswietlaniu nie ma najmniejszego znaczenia - to zrzutuj to na float i wowczas is_float da ci true jak to dla ciebie takie wazne.... ps: poza tym teraz ty robisz is_float na $matches, ktore jest tablica wiec tym bardziej nie zwroci ci nigdy true... No i jesli faktycznie tam masz doslownie to popraw jeszcze wyraznie na preg_match('/<span[^>]*> (.*?) <\/span>/si', $string, $matches); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
8.11.2019, 20:30:27
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.11.2019 Skąd: Niesiołowice Ostrzeżenie: (0%) |
No i jesli faktycznie tam masz doslownie to popraw jeszcze wyraznie na preg_match('/<span[^>]*> (.*?) <\/span>/si', $string, $matches); 1. nie działa, nic nie wyświetla. 2. popróbowałem rzutowania jak radziłeś:
Ale wyniku (zadowalającego) nie ma Piotr |
|
|
8.11.2019, 20:47:21
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Dostałeś pełne wyrażenie z uwzględnieniem nbsp. Dlaczego nie stosujesz?
-------------------- |
|
|
9.11.2019, 09:48:55
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.11.2019 Skąd: Niesiołowice Ostrzeżenie: (0%) |
Dostałeś pełne wyrażenie z uwzględnieniem nbsp. Dlaczego nie stosujesz? W poprzednim poście napisałem, że to wyrażenie nie działa. Nie miałem racji (i nie wiem dlaczego nie działało). Podstawiłem to jeszcze raz:
Działa. Uzyskaną liczbę wykorzystałem w innym skrypcie do wyświetlania właściwego obrazka w zależności od wartości tej liczby. Serdecznie dziękuję za pomoc. Znowu się czegoś nauczyłem więc dzień nie jest bezpowrotnie stracony. Temat zamknięty. Piotr Ten post edytował pernaczy 9.11.2019, 11:57:57 |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 12:36 |