Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dzielenie wyrazów..., funkcja która podzieli zdanie na wyrazy?
patigo
post 28.02.2005, 08:26:55
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 4.02.2005

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


Witam
Czy jest ktoś kto ma pomysł jak zrobić aby podany ciąg znaków przypisany do jakiejś zmiennej można by rozbić na wyrazy, a może jest jakaś gotowa funkcja??
np. mam zdanie: Ustawa o podatku dochodowym albo ochrona, zdrowie tak aby każdy wyraz ustawa, o, podatku, dochodowym można było przypisać innej zmiennej.

Pozdrawiam
Go to the top of the page
+Quote Post
Kuziu
post 28.02.2005, 08:32:49
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


  1. <?php
  2.  
  3. $text = 'Ustawa o podatku dochodowym.';
  4. $podz = split(' ', $text);
  5.  
  6. for($i=0; $i<count($podz); $i++){
  7.  echo($podz[$i] . '<br />');
  8. }
  9.  
  10. ?>


Oczywiśćie można jeśli jest taka potrzeba wywalić przecinki lub podwójne/i więcej/ spacje etc...

Ten post edytował Kuziu 28.02.2005, 08:34:57


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
patigo
post 28.02.2005, 08:55:28
Post #3





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 4.02.2005

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


...pojawił sie jeszcze jeden problem.
Gdy mamy:

w jednym pliku:
Kod
[php]  
$text = $HTTP_POST_VARS['szukaj'];
$podz = split('[ ,./]', $text);

for($i=0; $i<count($podz); $i++){
echo($d->szukaj($podz[$i]));}
[/php]
a w drugim:
Kod
[php]
function szukaj($b)
  {
   $zapytanie = "SELECT kolumna1,kolumna2 FROM tabela1, tabela2, tabela3 WHERE tabela1.kolumna1 LIKE '%$b%' AND tabela2.kolumna2='0' AND tabela3.kolumna3=tabela1.kolumna3";
  $wynik = $this->f($zapytanie);
  $tb = mysql_fetch_array($wynik);
  $a=$tb[0];    
  if (empty($a))
     {
    echo "Nie znaleziono podanego tematu";
    }
    else
    { while ($tb = mysql_fetch_array($r))
    {
    ?><li><a href="index.php?id=<?echo $tb[1];?>"><?
                   echo $tb[0];
    echo "</a></li><hr><br>";
     }
    }
      }
[/php]

i problem polega na tym że jak wprowadzam do wyszukiwarki jakieś zdanie składające się np z 3 wyrazów to wówczas wyszukuje dla każdego ze słów osobno i jeżeli znajdzie rekordy odpowiadające 2 słowom to wyświetla wynik a dla 3 słowa którego nie będzie w bazie wyświetla błąd.Moje ppytanie jest następujące...jak uniknąć wyświetlania błędu gdy jedno ze słów nie zostanie znalezione??

Ten post edytował patigo 28.02.2005, 12:41:07
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: 16.07.2025 - 13:50