Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z wyszukiwarką
Forum PHP.pl > Forum > PHP
centrum2954
Witam

Chciałbym zrobić wyszukiwarke w php która będzie "reagować" na znaki AND i OR

z OR nie ma problemu, poprostu znak spacji zamieniam na | i jest git
natomiast nie wiem jak zrobić AND, próbowałem + zamieniić na .+ ale wtedy znajdzie np.:
eregi(ala.+kota, Ala ma kota)=true
eregi(kota.+ala, Ala ma kota)=false

Wie ktoś może jak zrobić żeby to działało w obie strony?

pozdro
phobos
chyba musisz zrobic petle ktora przebiego pokolei po wyrazach wpisanych w formularzu
i tak jezeli znajdzie wyraz1 w tekscie1 to bierze wyraz2 i szuka go znowu w tekscie1 i itd


moze jescze ktos inny odpowie ktos kto lepiej sie na tym zna
dtb
nie testowalem, ale powinno dzialac (chyba)

  1. <?php
  2. function oraz($szukane, $przeszukiwanyTekst) {
  3. $szukane = array_map('trim', explode('&&', $szukane));
  4. foreach ($szukane => $word)
  5. if (stripos($przeszukiwanyTekst, $word) === false)
  6. return false;
  7. return true;
  8. }
  9.  
  10. $szukane = 'Ala && Kota';
  11. $przeszukiwanyTekst = 'TAKA SOBIE ala KTORA se KOta miala';
  12.  
  13. if (oraz($szukane, $przeszukiwanyTekst)) echo 'OK';
  14. else echo 'BAD';
  15. ?>
phobos
tam trzeba chyba zamienic
  1. <?php
  2.  .
  3.  .
  4. foreach ($szukane => $word)
  5.  .
  6.  .
  7. ?>

na
  1. <?php
  2.  .
  3.  .
  4. foreach ($szukane as $word)
  5.  .
  6.  .
  7. ?>


i dziala elegancko GJ dtb
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.