Autor | Zpráva | ||
---|---|---|---|
KarulaBarula Profil * |
#1 · Zasláno: 16. 3. 2010, 20:13:55
Ahoj,
je v php nějaká rychlá funkce na omezení délky slova? Chci totiž uživatelům zamezit, aby vkládali komentáře např. "SSSSSUUUUUUPPPPPPPPPERRRRRR SSSSSUUUUUUPPPPPPPPPERRRRRR", které pak při větší délce bortí design webu. |
||
Lamicz Profil |
#2 · Zasláno: 16. 3. 2010, 20:20:32 · Upravil/a: Lamicz
Asi bych řešil přes
strlen(); substr(); |
||
radvis Profil * |
#3 · Zasláno: 16. 3. 2010, 20:21:23
A co tak upravit web?:) Tobě by se asi taky nelíbilo kdyby jsi napsal dlouhý komentář a tam by byla jen čtvrtka textu.
|
||
Majkl578 Profil |
#4 · Zasláno: 16. 3. 2010, 20:23:12
Na jedno slovo je funkce strlen, v případě UTF-8 mb_strlen.
Pokud jde o souvislý text, tak třeba: $data = 'foo bar aaaaaaačaaaaaaaščřžýěaaaaaa baz'; if (preg_match('~[a-z+ěščřžýáíéůúťďóäö]{15,}~iu', $data)) { throw new Exception('Nalezeno slovo délky 15 znaků nebo více'); } Ale omezovat uživatele je špatná cesta... |
||
AM_ Profil |
#5 · Zasláno: 16. 3. 2010, 20:23:57 · Upravil/a: AM_
preg_replace('~([a-z]{30})[a-z]*~i', '\\1', $text); 30 nahraď požadovanou délkou. Ovšem tebou zmíněné "SSSSSUUUUUUPPPPPPPPPERRRRRR" není delší, než jedno z nejdelších slov, tedy "nejnevykrystalizovávatelnější" - je to extrém a pokud nemáš chemické fórum, nic tam zřejmě vykrystalizovávat nebude, chci naznačit, že délka slova ti určitě spolehlivě nevyfiltruje tyhle nesmysly, aniž by neosekala sem tam nějaké delší smysluplné slovo. Spíše by to chtělo odstranit slova, kde se víc jak 3x po sobě opakuje 1 písmeno, ale to mě teď nenapadá, jak. //reakce na předchozí příspěvky: předpokládal bych, že jde o souvislý text :) a svoboda jednoho končí tam, kde začíná svoboda druhého, pokud uživatelé mohou napsat jakékoliv bláboly, znamená to taky, že ostatní si je po nich mohou omylem přečíst. |
||
Radek9 Profil |
#6 · Zasláno: 16. 3. 2010, 20:29:09
AM:
„není delší, než jedno z nejdelších slov“ A co „nejzdevětadevadesáteroneroznásobitelnějšími“? :o) |
||
Petr ZZZ Profil |
#7 · Zasláno: 16. 3. 2010, 21:33:07
Radek9:
„A co ‚nejzdevětadevadesáteroneroznásobitelnějšími‘? :o)“ To bych z fleku zakázal. :-)) |
||
Časová prodleva: 14 let
|
0