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

// ББ коды и смайлы

function bbcodesmile($str)
{
    
$bbcode = array
    (
        
'/[b](.+)[/b]/isU' => '<strong>$1</strong>',
'/[red](.+)[/red]/isU' => '<font color="red">$1</font>',
'/[green](.+)[/green]/isU' => '<font color="green">$1</font>',
'/[blue](.+)[/blue]/isU' => '<font color="blue">$1</font>',
        
'/[url=(.+)](.+)[/url]/isU' => '<a href="?site=$1">$2</a>'
    
);

    
$str preg_replace(array_keys($bbcode), array_values($bbcode), $strQ_BBCODE);
$str preg_replace('/:(' implode('|'array_diff(array_map(create_function('$v''return substr($v, 0, -4);'), scandir('smile/')), array(''))) . '):/isU''<img src="smile/$1.gif" alt=":$1:" />'$strQ_SMILE);

    return 
$str;
}

// Возвращает ББ коды и смайлы в исходное состояние. Нужно для редактирования текста

function edittext($str)
{
    
$replace = array
    (
        
'/<strong>(.*)</strong>/isU' => '[b]$1[/b]',
'/<font color="red">(.*)</font>/isU' => '[red]$1[/red]',
'/<font color="green">(.*)</font>/isU' => '[green]$1[/green]',
'/<font color="blue">(.*)</font>/isU' => '[blue]$1[/blue]',
        
'/<a href="?site=(.*)">(.*)</a>/isU' => '[url=$1]$2[/url]',
        
'/<img src=".*" alt="(.*)" />/isU' => '$1'
    
);

    
$str preg_replace(array_keys($replace), array_values($replace), $str);
    
$str str_replace('<br/>'"rn"$str);

    return 
$str;
}

// Транслит

function translate($str)
{
    
$translate = array
    (
        
'YO' => 'Ё',
        
'Yo' => 'Ё',
        
'yo' => 'ё',
        
'ZH' => 'Ж',
        
'Zh' => 'Ж',
        
'zh' => 'ж',
        
'CH' => 'Ч',
        
'Ch' => 'Ч',
        
'ch' => 'ч',
        
'SH' => 'Ш',
        
'Sh' => 'Ш',
        
'sh' => 'ш',
        
'SHC' => 'Щ',
        
'Shc' => 'Щ',
        
'shc' => 'щ',
        
'QQ' => 'Ъ',
        
'qq' => 'ъ',
        
'&#039;&#039;' => 'ъ',
        
'YE' => 'Э',
        
'Ye' => 'Э',
        
'ye' => 'э',
        
'YU' => 'Ю',
        
'Yu' => 'Ю',
        
'yu' => 'ю',
        
'YA' => 'Я',
        
'Ya' => 'Я',
        
'ya' => 'я',
        
'YI' => 'Ы',
        
'Yi' => 'Ы',
        
'yi' => 'ы',
        
'A' => 'А',
        
'a' => 'а',
        
'B' => 'Б',
        
'b' => 'б',
        
'C' => 'Ц',
        
'c' => 'ц',
        
'D' => 'Д',
        
'd' => 'д',
        
'E' => 'Е',
        
'e' => 'е',
        
'F' => 'Ф',
        
'f' => 'ф',
        
'G' => 'Г',
        
'g' => 'г',
        
'H' => 'Х',
        
'h' => 'х',
        
'X' => 'Х',
        
'x' => 'х',
        
'I' => 'И',
        
'i' => 'и',
        
'K' => 'К',
        
'k' => 'к',
        
'L' => 'Л',
        
'l' => 'л',
        
'M' => 'М',
        
'm' => 'м',
        
'N' => 'Н',
        
'n' => 'н',
        
'O' => 'О',
        
'o' => 'о',
        
'P' => 'П',
        
'p' => 'п',
        
'Q' => 'Ь',
        
'q' => 'ь',
        
'&#039;' => 'ь',
        
'R' => 'Р',
        
'r' => 'р',
        
'S' => 'С',
        
's' => 'с',
        
'T' => 'Т',
        
't' => 'т',
        
'U' => 'У',
        
'u' => 'у',
        
'V' => 'В',
        
'v' => 'в',
        
'W' => 'Ш',
        
'w' => 'ш',
        
'J' => 'Й',
        
'j' => 'й',
        
'Z' => 'З',
        
'z' => 'з'
    
);

    
// Вся эта конструкция недопускает транслитирование текста в скобках <> и []
    // Но, скобки <> остаются на месте, а [] в итоге исчезают

    
preg_match_all('/<[^<]+>/U'$str$a);
    
preg_match_all('/[([^[]+)]/U'$str$b);

    
$str strtr($str$translate);

    
preg_match_all('/<[^<]+>/U'$str$c);
    
preg_match_all('/[([^[]+)]/U'$str$d);

    
$str str_replace(array_values($c[0]), array_values($a[0]), $str);
    
$str str_replace(array_values($d[0]), array_values($b[1]), $str);

    return 
$str;
}
?>
Онлайн: 0
Реклама