Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt zliczajacy wybrane słowa
luk5e
post 9.04.2010, 22:27:22
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 3.09.2009

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


Witam,

istenieje skrypt któr bedzie zliczał ilosc np.uzytego słowa " luke" ? Tak aby mozna bylo to podpiac pod formularz a wynik wrzucic na strone jako "statystyka"?

Pozdrawiam.

Ten post edytował luk5e 9.04.2010, 22:28:33
Go to the top of the page
+Quote Post
mortus
post 9.04.2010, 23:14:31
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Istnieje funkcja, która zlicza wystąpienia słowa w ciągu znaków. Ta funkcja to preg_match. Zobacz przykład 2.
Go to the top of the page
+Quote Post
luk5e
post 10.04.2010, 04:28:05
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 3.09.2009

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


Moze inaczej ... opisze dokladniej o co mi chodzi smile.gif Wiec... Skrypt ma zliczac ile razy zostało użyte słowo np. " Żaba " wazne jest abym mogl okreslic jakie słowa ma zliczac. Czyli efekt powinien wygladac tak : " Żaba = 5 razy Bocian=10 razy sloncel= 3 razy " Wszystkie słowa powinien pobierac z pliku .xml .

Istnieje taki skrypt ? Jesli nie to, moze jest jakis magik który taki skrypt napisze odpłatnie ? smile.gif

Milego dzionka zycze smile.gif
Go to the top of the page
+Quote Post
Fifi209
post 10.04.2010, 09:29:11
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


A ja będę dobry i Ci pokażę jak to przykładowo zrobić:
  1. <?php
  2.  
  3. $slowa = array('żaba', 'żółw');
  4.  
  5. $tekst = 'żaba skakała obok wody w słoneczny dzień, widząc jak żółw wolno idzie żaba zaczęła się z niego potwornie śmiać';
  6.  
  7. $tekst = preg_replace('#[^a-zążźćśłó ]#is', '', $tekst);
  8.  
  9. $tekst = explode(' ', $tekst);
  10.  
  11. $arr = array();
  12.  
  13. foreach ($tekst as $slowo) {
  14. if (in_array($slowo, $slowa)) {
  15. if (isset($arr[$slowo])) {
  16. $arr[$slowo]++;
  17. }else{
  18. $arr[$slowo] = 1;
  19. }
  20. }
  21. }
  22.  
  23. foreach ($arr as $key => $val) {
  24. echo $key.' '.$val.'<br/>';
  25. }
  26.  
  27. ?>


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Zyx
post 10.04.2010, 09:37:46
Post #5





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Wyrażenia regularne w tym miejscu to trochę jak strzelanie do wróbla z armaty:

substr_count() - zlicza ilość wystąpień podanego słowa w tekście

Wystarczy zapętlić, powtarzając operację dla każdego ze słów z osobna i w ten sposób uzyskamy statystyki. Nie wiem, jak wydajnościowo się sprawdzą obie metody dla dłuższych tekstów i z większą ilością słów - przy dobrej organizacji można to wydajnie zakodować, ale znając specyfikę wyrażeń regularnych i operacji PHP na tablicach przypuszczam, że substr_count() będzie szybsze.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
thek
post 10.04.2010, 13:59:36
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Zyx... Zawsze jest jeszcze jedna możliwość... Usunięcie znaków interpunkcyjnych, podzielenie tekstu po znakach białych i usuwanie dubli z jednoczesnym liczeniem. To da statystyke dla calego tekstu... nie tylko wybranych.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Fifi209
post 10.04.2010, 16:23:52
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(thek @ 10.04.2010, 14:59:36 ) *
Zyx... Zawsze jest jeszcze jedna możliwość... Usunięcie znaków interpunkcyjnych, podzielenie tekstu po znakach białych i usuwanie dubli z jednoczesnym liczeniem. To da statystyke dla calego tekstu... nie tylko wybranych.

Mój jakby nie patrzeć wywala wszystko poza przedziałem czyli to o czym piszesz, można go łatwo przerobić. ;]


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
luk5e
post 11.04.2010, 04:00:46
Post #8





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 3.09.2009

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


Bardzo mi pomogliscie za co bardzo dziekuje:)

Fifi, skrypt super o to własnie mi chodziło. Mam jeszcze jedno zapytanie jak zrobic aby ten skrypt wspołpracował z baza danych mysql i z niej wyciagał te wybrane słowa? W bazie mam utworzona tabele jb_comment a komentarze leca do pola comment. Łatwo to zrobic czy nie bardzo ?
Go to the top of the page
+Quote Post
Fifi209
post 11.04.2010, 06:56:15
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(luk5e @ 11.04.2010, 05:00:46 ) *
Bardzo mi pomogliscie za co bardzo dziekuje:)

Fifi, skrypt super o to własnie mi chodziło. Mam jeszcze jedno zapytanie jak zrobic aby ten skrypt wspołpracował z baza danych mysql i z niej wyciagał te wybrane słowa? W bazie mam utworzona tabele jb_comment a komentarze leca do pola comment. Łatwo to zrobic czy nie bardzo ?


Wybrać i zapisać do tablicy, w tym wypadku jest to tablica "slowa".


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
luk5e
post 11.04.2010, 21:09:30
Post #10





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 3.09.2009

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


A zeby mi pobrał z bazy " żaba skakała obok wody w słoneczny dzień, widząc jak żółw wolno idzie żaba zaczęła się z niego potwornie śmiać" - to zostało wysłane do bazy przez textarea i jest w tabeli jb_comment w polu comment i jak teraz to wszystko połaczyc aby działo tak jakby zostało bezposrednio wpisane do skryptu jak wyzej .
Go to the top of the page
+Quote Post
Fifi209
post 11.04.2010, 21:26:59
Post #11





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(luk5e @ 11.04.2010, 22:09:30 ) *
A zeby mi pobrał z bazy " żaba skakała obok wody w słoneczny dzień, widząc jak żółw wolno idzie żaba zaczęła się z niego potwornie śmiać" - to zostało wysłane do bazy przez textarea i jest w tabeli jb_comment w polu comment i jak teraz to wszystko połaczyc aby działo tak jakby zostało bezposrednio wpisane do skryptu jak wyzej .

A to nie wiesz jak pobrać z bazy tekst? haha.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
luk5e
post 11.04.2010, 23:21:09
Post #12





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 3.09.2009

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


  1. $result = mysql_query("SELECT kolumna FROM tabela")
  2. or die("Zapytanie niepoprawne");


czyms takim ? tongue.gif


To nikt nie zdradzi tego magicznego sposobu jak pobrac tekst z bazy ?

Ten post edytował luk5e 12.04.2010, 16:48:33
Go to the top of the page
+Quote Post
Fifi209
post 12.04.2010, 19:05:21
Post #13





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


mysql_fetch_assoc


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
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 Wersja Lo-Fi Aktualny czas: 15.06.2025 - 21:35