Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] funkcja REPLACE
lechulysy
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 9.09.2015

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


Witam,
czy da się zrobić coś takiego jak porównanie dwóch stringów w bazie, ale pozbawionych określonych znaków; np.

string_1="Ala ma kota1 & burka2" - jest w bazie w "pole_x"
string_2="A l a_ma_kota1 *&^ bur_ ka2" - jest pobierany ze strony WWW

po "zredukowaniu" obu stringów do znaków [a-Z][0-9] są takie same:

string_1="Alamakota1burka2"
string_2="Alamakota1burka2"

czy taką redukcję da się zrobić w przykładowym zapytaniu:

  1. SELECT id FROM baza WHERE jakas_funkcja_redukująca(pole_x)='zredukowany_string_2'


przy okazji choć nie ten dział: czy w PHP'ie jest jakaś gotowa funkcja poza str_replace(), która potrafi pozbawić string wszystkiego poza [a-Z][0-9]?

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





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Najprościej będzie tutaj skorzystać z wyrażeń regularnych - są dostępne właściwie właściwie na każdej platformie.

W PHP-ie jest to rodzina funkcji preg_*()
W MySQL jest pod tym względem dosyć ubogo w standardowej konfiguracji (https://dev.mysql.com/doc/refman/5.7/en/regexp.html). Ale przy odrobinie wysiłku da się otrzymać normalne narzędzia https://www.google.pl/webhp?sourceid=chrome...regex%20replace
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 Aktualny czas: 21.08.2025 - 06:21