Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> LIKE - wyszukiwanie podobnych ciągów znaków
Majkelo23
post
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

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


Mam szukajkę i po wpisaniu jakiejś frazy, wyciągam ze SQLa wyniki za pomocą LIKE. Jednak nie wiem jak sprecyzować zapytanie, aby jeśli coś jest pomiędzy słowem [ukryj] a [/ukryj] - żeby tych ciągów nie brało pod uwagę, przykład:

Cytat
[ukryj]To jest tekst, który ma nie być wyszukiwany przez szukajkę[/ukryj]


I teraz - jak sprecywać zapytanie po WHERE, aby nie brało pod uwagę tekstu zawartego wewnątrz [ukryj][/ukryj]?

Ten post edytował Majkelo23 8.03.2012, 22:18:58
Go to the top of the page
+Quote Post
MGraphics
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 2.03.2012
Skąd: Częstochowa

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


A nie możesz sobie przed zapytaniem SQL odpowiednio zmienić jakiś tam ciąg który jest podawany do wyszukiwania ( za pomocą PHP )?
Go to the top of the page
+Quote Post
Majkelo23
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

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


Właśnie nie wiem jak to zrobić, nie mam pomysłu.
Go to the top of the page
+Quote Post
thek
post
Post #4





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




Wyrażenie regularne, które wykrywa najmniejszy możliwy ciąg o wzorcu [ukryj]TU COKOLWIEK[/ukryj] i zamienia go na ciąg pusty.
preg_replace i lazy (non-greedy) regexp się kłaniają.

EDIT: łap regexp: /\[ukryj\].*?\[/ukryj\]/gi
Powód edycji: [thek]: OK... Nie będę tajemniczy ;) Dam ten regexp, bo jest najtrudniejszą częścią. Z preg_replace chyba już sobie poradzisz :)
Go to the top of the page
+Quote Post
daniofantasy
post
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 14.06.2007
Skąd: Chesterfield UK

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


preg_match() powininen Ci pomoc - poczytaj o ciagach (IMG:style_emoticons/default/smile.gif)
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: 22.08.2025 - 12:57