Вход Регистрация
Файл: 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($codeENT_QUOTES);

            
$code highlight_string($codetrue);

            
$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::MaskSmilesGlobFiles::Smilestrue);

    foreach (
$smiles as $file) {

        
$smile basename($file);

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

    }

    return 
$str;

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