Краткая информация о модуле (хаке)
Автор: D0Gmatist
Контакты:
Skype - D0Gmatist
Условия продажи:
Бесплатно
Функция позволяет сделать автоматическое обрамление
[ code ] код [ / code ] в
[ spoiler ] [ code ] код [ / code ] [ / spoiler ]
При условии что между [ code ] [ / code ] символов будет больлше чем указанно в огранчении.
// codeAddSpoiler ( текст, кодировка сайта, придел символов после которого идёт обрамление в спойлер)
[ code ] код [ / code ] в
[ spoiler ] [ code ] код [ / code ] [ / spoiler ]
При условии что между [ code ] [ / code ] символов будет больлше чем указанно в огранчении.
// Обрамление тегом spoiler если большой текст в code
function codeAddSpoiler( $text, $charset, $sum ) {
// удаляем спойлеры у code
$text = preg_replace( "/\[spoiler\=?.*\]\s*\[code\]/i", "[ code ]", $text ); // убрать пробелы в [ code ]
$text = preg_replace( "/\[\/code\]\s*\[\/spoiler\]/i", "[ / code ]", $text ); // убрать пробелы в [ / code ]
// получаем двумерный масив с code
preg_match_all("#\[code\](.*)\[/code\]#isuU", $text, $textCode);
// сумма массива
$textCodeC = count( $textCode[0] );
// цыкл
for ( $i = 0; $i < $textCodeC; $i++ ) {
// определение кодировки и подсчёт символов в строке
if ( strtolower($charset) == "utf-8") $textCodeSum = iconv_strlen( $textCode[1][$i], "utf-8" );
else $textCodeSum = strlen( $textCode[1][$i] );
// если символов больше то производим обрамление в spoiler
if ( $textCodeSum > $sum ) {
$text = str_replace( $textCode[0][$i], "[spoiler]" . $textCode[0][$i] . "[/spoiler]", $text );
}
}
return $text;
}
// codeAddSpoiler ( текст, кодировка сайта, придел символов после которого идёт обрамление в спойлер)
$_POST['text'] = codeAddSpoiler( $_POST['text'], $config['charset'], "500" );