Вход Регистрация
Файл: inc/bb.php
Строк: 50
<?php

// <br/> => n
function br2nl($str) {

    
$str = preg_replace('/<br(s*)?/?>/i', PHP_EOL, $str);

    return 
$str;

}

// Функция ББ кодов
function bb($str) {
 
    
// Перенос текста
    
$str = preg_replace('#[br]#si', '<br/>', $str);

    
// Жирный шрифт
    
$str = preg_replace('#[b](.*?)[/b]#si', '<b>1</b>', $str);

    
// Наклоненный шрифт
    
$str = preg_replace('#[i](.*?)[/i]#si', '<i>1</i>', $str);

    
// Подчеркнутый шрифт
    
$str = preg_replace('#[u](.*?)[/u]#si', '<u>1</u>', $str);

    
// Зачеркнутый шрифт
    
$str = preg_replace('#[del](.*?)[/del]#si', '<del>1</del>', $str);

    
// Маленький шрифт
    
$str = preg_replace('#[small](.*?)[/small]#si', '<small>1</small>', $str);

    
// Цветной шрифт
    
$str = preg_replace('#[color=(.*?)](.*?)[/color]#si', '<font color="1">2</font>', $str);

    
// Градиент текста
    
$str = preg_replace('#[gradient=(.*?),(.*?)](.*?)[/gradient]#si', '<span style="background: linear-gradient(135deg, 1 20%, 2 70%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;">3</span>', $str);

    
// Цитата
    
$str = preg_replace('#[cit](.*?)[/cit]#si', '<div class="cit">1</div>', $str);

    
// Подсветка кода
    
$str = preg_replace_callback(

        
'#[php](.*?)[/php]#si',

        function(
$matches) {

            
$code = $matches[1];

            
$code = htmlspecialchars_decode($code, ENT_QUOTES);

            
$code = highlight_string($code, true);

            
$code = br2nl($code);

            return 
$code;

        },

        
$str

    
);

    return 
$str;

}

// Видео с YouTube
function bbyoutube($str) {

    
$str = preg_replace('#[youtube=(.*?)]#si', '<iframe width="100%" src="https://www.youtube.com/embed/1" frameborder="0" allowfullscreen></iframe>', $str);

    return 
$str;

}

// Ссылки
function bblinks($link) {

    
$link = preg_replace_callback(

        
'~\[url=(https?://.+?)\](.+?)\[/url\]|(https?://[0-9a-zA-Z.-]+.[0-9a-zA-Z]{2,6}[0-9a-zA-Z/?.-~&;_=%:#+]*)~',

        function(
$matches) {

            
$regexp = '#^https?://'.$_SERVER['HTTP_HOST'].'/?(.*?)$#i';

            if (isset(
$matches[3])) {

                
$url = '<a data-noajax href="' . (preg_match($regexp, $matches[3]) ? $matches[3] : '/go/' . base64_encode($matches[3])) . '">' . $matches[3] . '</a>';

            } else {

                
$url = '<a data-noajax href="' . (preg_match($regexp, $matches[1]) ? $matches[1] : '/go/' . base64_encode($matches[1])) . '">' . $matches[2] . '</a>';

            }

            return 
$url;

        },

        
$link

    
);

    return 
$link;

}

// Функция вывода смайлов
function smiles($str) {

    
$smiles = GlobFiles::findByMask(GlobFiles::MaskSmiles, GlobFiles::Smiles, true);

    foreach (
$smiles as $file) {

        
$smile = basename($file);

        
$str = str_replace(':' . mb_substr($smile, 0, -4) . ':', '<img src="/img/smiles/' . $smile . '" alt="smile">', $str);

    }

    return 
$str;

}
Онлайн: 3
Реклама