Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]strpos ciąg znaków w wyrazie..
acztery
post
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


Hej,

mam takie zdanie.


Algi-nadają miękkości oraz nawilżenie włosom. Polecane do suchych włosów.


i taki kawałek kodu:

  1. ...
  2. if (stripos($desc, $str[$i]) != '')
  3. {
  4. $tag_tmp[$atag[$i]['tag']] = $atag[$i]['tag'];
  5. }
  6. ...


Kod odp za wyszukanie np słowa Kości w tym zdaniu. (bez patrzenia na wielość liter) dlatego stripos a nie strpos. Problem w tym ze tam występuje takie słowo jak miękkość. a tam jest kość. jak zrobić żeby nie było jakiś parametr do stripos czy jak?

na początku pomyślałem żeby szukać [spacja]kości[spacja] ale co jak padnie na początek zdania czy coś wtedy jak Kości będą na początku zdania i spacji przez tym nie będzie to nie znajdzie mi tego...

Go to the top of the page
+Quote Post
sadistic_son
post
Post #2





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

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


Musisz użyć wyrażeń regularnych.
Go to the top of the page
+Quote Post
acztery
post
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


wolałbym nie nie znam się na nich (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Dominis
post
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 19
Dołączył: 13.02.2010

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


Jeśli nie znajdziesz lepszego rozwiązania to podsyłam Ci mój pomysł:

Jeśli znajdzie kości to zwraca wynik w tablicy $matches. $string -> tutaj dajesz tekst, który ma zostać przeszukany.
Działa to tylko i wyłącznie, jeśli kości nie jest na początku tekstu.
  1. preg_match('/[\s\.\,\!\?]{1,1}+[kK]{1,1}+[oO]+[śŚ]+[cC]+[iI\.\,\!\?\s]/', $string, $matches);


A to działa tylko i wyłącznie wtedy, jeśli jest na początku tekstu.
  1. preg_match('/^[kK]{1,1}+[oO]+[śŚ]+[cC]+[iI\.\,\!\?\s]/', $string, $matches);


Pozdro

Ten post edytował Dominis 28.09.2011, 19:49:09
Go to the top of the page
+Quote Post
acztery
post
Post #5





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


Kości do był tylko przykład może być np słowo kino i w tekscie bedzie słowo kinoman nie po winnno znaleźć takiego słowa...

ale spoko będę myślał. Ale jak ktoś znajdzie rozwiązanie to z przyjemnościa...
Go to the top of the page
+Quote Post
bulimaxiu
post
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


może coś w stylu [cokolwiek_co_nie_jest_literą]$string[cokolwiek_co_nie_jest_literą]?

Ten post edytował bulimaxiu 29.09.2011, 10:21:46
Go to the top of the page
+Quote Post
amii
post
Post #7





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


U mnie takie coś działa, musisz sobie tylko dostosować.
  1. if(@strpos($text, $tabliczka[$g]))
  2. {
  3.  
  4. $wyr = "/([^(a-zA-Z0-9ąęćżźńśłóĄĘĆŻŹŃŚŁÓ'-=\"\')])". $tabliczka[$g] ."([^(a-zA-Z0-9ąęćżźńśłóĄĘĆŻŹŃŚŁÓń'-=\'\")])/i";
  5.  
  6. $podmieniony = preg_replace($wyr,
  7. " ".$tabliczka[$indeks]." ", $podmieniony);
  8. }
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: 18.09.2025 - 11:56