Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]potrzebuję rozpoznawanie tekstu, rozpoznawanie tekstu parser
kreteda
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.04.2010

Ostrzeżenie: (0%)
-----


Potrzebuję zrobić skrypt na rozpoznawanie tekstu wcześniej wpisanego w formularzu.

np.
54x pomidor

to będzie wykrywać 54 * $pomidor ( pod zmienną bd podstawiona jakaś wartość)



dowiedzialem się, że bd mi potrzebny parser, lecz nie wiem jak go zrobić, znam podstawy php, proszę ocenić czy to na moje możliwości jeśli uznasz, że tak to o jakąś porade
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


ja zrobiłbym to tak: wyciągam z tekstu dane 54 i pomidor a następnie podstawiam itd..

wersja 1:
użycie funkcji explode, jako argument podajemy "x "
wersja 2, bardziej skomplikowana:
korzystam z wyrażeń regularnych i funkcji preg_match, ew. preg_match_all

następnie składam wszystko i gotowe smile.gif
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Cytat(kreteda @ 19.04.2010, 19:38:57 )
znam podstawy php, proszę ocenić czy to na moje możliwości jeśli uznasz, że tak to o jakąś porade


aniby skąd mamy wiedzieć jakie podstawy znasz? może tylko umiesz łączyć stringi?

co do tematu, to powiedz w jakiej formie będą dane i co chcesz z nimi później robić?


--------------------
Go to the top of the page
+Quote Post
kreteda
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.04.2010

Ostrzeżenie: (0%)
-----


dzięki, wiedziałem, że ktoś mi tu pomoże : P

bd próbował z explode narazie, bo w miare wiem o co w tym chodzi.
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dam Ci słowo klucz do takich rzeczy - Tokenizer (nie chodzi tutaj o tokeny obrazkowe)


--------------------
Go to the top of the page
+Quote Post
kreteda
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.04.2010

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3.  
  4. $a="10x kawa";
  5.  
  6.  
  7.  
  8.  
  9. $ile= substr($a, 0, 2);
  10. $kawa=substr($a, 4, 8);
  11. if($kawa=="kawa"){
  12. $kawa=10;
  13. }
  14.  
  15.  
  16.  
  17.  
  18. $b=$ile*$kawa;
  19. echo $b;
  20. echo "<br>" ;
  21. echo $ile;
  22. echo "<br>";
  23. echo $kawa;
  24. ?>



zrobiłem coś takiego : ) jest juz cos.

czy da sie to jakoś przerobić aby wykrywało następne linie ?

np.
10x kawa
10x ananas
20x truskawka

i pobiera wszysto do tablic?

wiem, że moge zrobić to żeby x usuwało a nie tak na stałe, ale zrobiłem to tak aby sprawdzić czy dziala.

Ten post edytował kreteda 19.04.2010, 19:20:17
Go to the top of the page
+Quote Post
Pawel_W
post
Post #7





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


  1. $kawa = 10;
  2. $herbata = 15;
  3. $woda = 20;
  4.  
  5. $text = "10x kawa
  6. 11x herbata
  7. 500x woda";
  8. $arr = explode("\r\n", $text);
  9. foreach($arr as $line)
  10. {
  11. $elements = explode("x ", $line);
  12. $zm = $$elements[1];
  13. echo $elements[0] . "x " . $elements[1] . " = " . $zm * $elements[0] . "<br />";
  14. }


Ten post edytował Pawel_W 19.04.2010, 20:12:51
Go to the top of the page
+Quote Post
kreteda
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 19.04.2010

Ostrzeżenie: (0%)
-----


Wieeelkie dzięki, bez Twojej pomocy by się nie udało, wszystko działa jak ta lala ; ) można zamknąć
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 04:50