[ bluesman @ 11.08.2004. 11:58 ] @
Ako ima zainteresovanih... Evo jednog na brzaka, mali, jednostavan ali koristan. Kada dozvoljavate korisnicima da upisuju sve i svasta kod vas na sajt, sigurno se desilo da neko upise "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" Pa posto to jako ruzno izgleda, mozete uz pomoc ovog plugina sve reci duze od odredjene duzine da pretvorite u AAAAAAAAAAAAAAA... pa onda browser nece da se izgubi kada prikazuje taj red. Code: <?php /** * Type: modifier * Name: gpb_prevent_flood * Purpose: prevent flooding for long words like "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" * to extend display outsite an area * @param string * @param string * @return string */ function smarty_modifier_gpb_prevent_flood($string, $len = '30') { if (empty($string)) return trim($string); // split text by ' ',\r,\n,\f,\t $split_array = preg_split('/\s+/',$string); if ($len < 10) $len = 10; // glupo je da se skracuju reci manje od 10 karaktera $ret = array(); foreach ($split_array as $str) { if (strlen($str) > $len) $ret[] = substr ($str, 0,$len)."..."; else $ret[] = $str; } return implode(" ", $ret); } ?> Napomena, za sve pluginove koje ja napisem mislim da je dobra ideja da se cuvaju u posebnom folderu u odnosu na smarty/plugins, i ja im jos dam neko ime, kao sto je ovde gpb_... @usage: Ovo je izlaz {$tekst|gpb_gpb_prevent_flood:20} Ovo bi recimo preseklo sve reci duze od 20 karaktera i dodalo ... na kraju. |