Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Zachowanie skryptu w zależności od wartości w polu "input".
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Mam formularz, a w nim jedno pole w które trzeba wpisać wartość.
I teraz w zależności co zostanie wpisane skrypt podejmie odpowiednie działania.

Jeśli jakiaś dowolna wartość to zrobi jedno, jeśli natomiast wartość będzie równa "wyjątek" to zrobi drugie.
Problem w tym, że takie słowo można napisać w różny sposób, np. "wyjątek", "Wyjątek", "WYJĄTEK", "WyJąTeK", itp.
  1. if ($zmienna == "wyjątek" OR $zmienna == "Wyjątek" OR $zmienna == "WYJĄTEK"){}

Czy da się napisać warunek tak, aby bez względu na to jak słowo zostanie wpisane został on spełniony?
Bez takiego kombinowania z OR jak na powyższym przykładzie.

Chciałbym nawet pójść o krok dalej i brać pod uwagę słowo ze spacją oraz literówką czyli np. "wyjątek ", "wyXątek", "wyjątekX".

Czy da się napisać skrypt, który akceptował by drobne błędy jak na powyższych przykładach?

Ten post edytował Szunaj85 28.10.2015, 15:08:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


coś takiego:
  1. if(levenshtein(strtolower($zmienna), strtolower('wyjątek')) <= 1)


1 możesz zamienić na dowolną ilosć. Liczba ta mówi ile znaków trzeba zmienić aby oba słowa były takie same.

Ten post edytował Pyton_000 28.10.2015, 14:24:43
Go to the top of the page
+Quote Post
sadistic_son
post
Post #3





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


@Pyton_000 masz literówkę... levenshtein (levenshtein)(IMG:style_emoticons/default/smile.gif)

Ten post edytował sadistic_son 28.10.2015, 14:20:33
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


True (IMG:style_emoticons/default/wink.gif) Pisane z pamięci
Go to the top of the page
+Quote Post
Szunaj85
post
Post #5





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Zanim utworzyłem tutaj nowy temat też jako pierwsza przyszła mi do głowy funkcja strtolower.
Pyton_000 rozwiązanie ciekawe i wygląda na to, że działa. Szukając rozwiązania po drodze natrafiłem jeszcze na funkcje similar_text.
Jaka jest różnica między levenshtein a similar_text i która jest szybsza, lepsza?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


przetestuj a się dowiesz (IMG:style_emoticons/default/wink.gif) Wystarczy zamienić funkcje.
Wydaje mi się że jeśli nie robisz 1mln porównań xx tyś znaków to nie ma znaczenia.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.12.2025 - 00:00