Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Ничего такого я там не обнаружил. Несмотря на то, что скрипт грузится в течении max_execution_time, сообщение добавляется. Но при этом не происходит обновление количества постов и т.п., а в колонке последнее сообщение появляется вот этоТы не читаешь что я пишу?
Я говорю что он может заменять стоп-слова, а это очень ресурсоемкая операция! Отключи ее!
1970-01-01 03:00
Гость
if ($userdata['user_id'] != BOT_UID)
{
add_search_words($post_id, stripslashes($post_message), stripslashes($post_subject), $bbcode_uid);
}
function add_search_words ($post_id, $post_message, $post_title = '', $bbcode_uid = '', $only_return_words = false)
{
global $db;
$text = $post_title .' '. $post_message;
$text = strip_bbcode_uid($text, $bbcode_uid);
$words = ($text) ? extract_search_words($text) : array();
if ($only_return_words)
{
return join("\n", $words);
}
else
{
$db->query("DELETE FROM ". POSTS_SEARCH_TABLE ." WHERE post_id = $post_id");
if ($words_sql = $db->escape(join("\n", $words)))
{
$db->query("REPLACE INTO ". POSTS_SEARCH_TABLE ." (post_id, search_words) VALUES ($post_id, '$words_sql')");
}
}
}
function strip_bbcode_uid ($text, $bbcode_uid)
{
return ($bbcode_uid) ? preg_replace("#:(\d+:)*?$bbcode_uid#", '', $text) : $text;
}
function extract_search_words ($text)
{
global $bb_cfg;
$max_words_count = $bb_cfg['max_search_words_per_post'];
$min_word_len = max(2, $bb_cfg['search_min_word_len'] - 1);
$max_word_len = $bb_cfg['search_max_word_len'];
$text = ' ' . str_compact(strip_tags(strtolower($text))) . ' ';
$text = str_replace(array('[', ']'), array('[', ']'), $text);
// HTML entities like
$text = preg_replace('/(\w*?)&#?[0-9a-z]+;(\w*?)/i', '', $text);
// Remove URL's
$text = preg_replace('#\b[a-z0-9]+://[0-9a-z\.\-]+(/[0-9a-z\?\.%_\-\+=&/]+)?#', ' ', $text);
$text = strip_bbcode($text);
// Filter out characters like ^, $, &, change "it's" to "its"
$text = preg_replace('#\W#', ' ', $text);
// short & long words
$text = preg_replace('#(?<=^|\s)(\S{1,'.$min_word_len.'}|\S{'.$max_word_len.',}|\W*)(?=$|\s)#', ' ', $text);
$text = remove_stopwords($text);
# $text = replace_synonyms($text);
// Trim 1+ spaces to one space and split this string into unique words
$text = array_unique(explode(' ', str_compact($text)));
if (sizeof($text) > $max_words_count)
{
# shuffle($text);
$text = array_splice($text, 0, $max_words_count);
}
return $text;
}
function strip_bbcode ($message, $stripquotes = true, $fast_and_dirty = false, $showlinks = true)
{
$find = array();
$replace = array();
if ($stripquotes)
{
// [quote=username] and [quote]
$message = strip_quotes($message);
}
// a really quick and rather nasty way of removing bbcode
if ($fast_and_dirty)
{
// any old thing in square brackets
$find[] = '#\[.*/?\]#siU';
$replace = '';
$message = preg_replace($find, $replace, $message);
}
// the preferable way to remove bbcode
else
{
// simple links
$find[] = '#\[(email|url)=("??)(.+)\\2\]\\3\[/\\1\]#siU';
$replace[] = '\3';
// named links
$find[] = '#\[(email|url)=("??)(.+)\\2\](.+)\[/\\1\]#siU';
$replace[] = ($showlinks ? '\4 (\3)' : '\4');
// smilies
$find[] = '#(?<=^|\W)(:\w+?:)(?=$|\W)#';
$replace[] = '';
// replace
$message = preg_replace($find, $replace, $message);
// strip out all other instances of [x]...[/x]
while (preg_match('#\[([a-z]+)\s*?(?:[^\]]*?)\](.*?)(\[/\1\])#is', $message, $m))
{
$message = str_replace($m[0], $m[2], $message);
}
$replace = array('[*]', '[hr]', '[br]', '[tab]');
$message = str_replace($replace, ' ', $message);
}
return $message;
}