Autor | Zpráva | ||
---|---|---|---|
PetraPP Profil |
#1 · Zasláno: 28. 7. 2014, 21:08:34
Ráda bych na svůj web použila našeptávač a hned v prvopočátku než budu ukládat do mySQL produkty, bych potřebovala poradit, zda-li věty ukládat zvlášť na další řádek například bez diakritiky, vše převést na malé písmena, odstranit html a jiné znaky. Prostě mít čistý text, aby následné hledání bylo OK. Ten kdo pak zadá slovo(a) do našeptávače, tak PHP text taktéž vyčistí a použije do mySQL jako LIKE '$text%'.
Jak toto kompletní pročištění přes PHP provést? Mockrát děkuji za výpomoc. |
||
Tori Profil |
Chcete našeptávat samotná slova (slovní spojení) nebo třeba i celé věty?
Obecně bych vyhodila vše, co není text - tedy HTML tagy a grafické znaky typu hvězdičky, šipky apod. Zacházení s diakritikou a (ne)rozlišování velkých písmen se dá nastavit vhodným porovnáváním na daném DB sloupci. |
||
PetraPP Profil |
#3 · Zasláno: 28. 7. 2014, 21:52:52
Celé věty spíše ne. Bude se jednat pouze o slovní spojení či jedno slovo.
|
||
Taps Profil |
#4 · Zasláno: 28. 7. 2014, 21:56:00
PetraPP:
důležité je mít na paměti i ošetření proti mysql injection. Sice je to trošku mimo téma, ale je to věcná připomínka |
||
PetraPP Profil |
#5 · Zasláno: 29. 7. 2014, 09:56:25
Na mySQL injection by mělo tedy stačit použít
mysql_real_escape_string ? Předpokládám, že snad ano :)
U toho hledání použiji přesně tohle: WHERE text LIKE %{$word}% Našla jsem to na internetu, ikdyž znaky {} ani nevím co tam znamenají.
|
||
Tori Profil |
#6 · Zasláno: 29. 7. 2014, 10:04:47
PetraPP:
„znaky {} ani nevím co tam znamenají.“ http://php.net/manual/en/language.types.string.php#language.types.string.parsing.complex |
||
Taps Profil |
#7 · Zasláno: 29. 7. 2014, 21:00:36
PetraPP:
Pro info http://www.zdrojak.cz/clanky/sql-injection-pre-kazdeho/ |
||
Časová prodleva: 10 let
|
0