Вы не зашли.
Главная » PHP » антиспам
#1. datua Off (1)
Участник
2008.10.18 01:01
realno li delat takoi antispam? chto chelovek ne smog napisat takie "##########" ili ",,,,,,,,,," ili "aaaaaaaaaa". xochu chto v mesto "aaaaaaaaaa" ostalos 3 bukva "aaa", ili vmesto "........." ostalos "..."
#2. Gemorroj Off (107)
Administrator
2008.10.18 18:06
ммм... задачка...
Код:
span style="color: #0000BB"><?php// строка, которую надо отфильтровать$str = 'текстовый текст со словом аааааа. вот.';// кодировкаiconv_set_encoding('internal_encoding', 'UTF-8');$all = iconv_strlen($str);$out = ' '; // 3 пробелаfor($i=0; $i<$all; ++$i){ $tmp = iconv_substr($str, $i, 1); if($tmp != iconv_substr($out, -1, 1) || $tmp != iconv_substr($out, -2, 1) || $tmp != iconv_substr($out, -3, 1)){ $out.= $tmp; }}print $out = trim($out);?>
но есть проблемка, это очень медленный код. текстовый файл весом 3.5 кб, этот код обрабатывал чуть более 2 секунд.
вероятно можно попробовать разбивать текст по словам и прогонять цикл по словам, а не по каждому символу в отдельности.
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.012 s