Класс Str

Класс-помощьник по работе со строками.

Методы

str::clean()

Очищает строку от всякого.

Пример

$test1 = '//section///////////////////page.html';
$test2 = 'section/page..................................html';

// section/page.html
print_r(str::clean($test1));

// section/page.html
print_r(str::clean($test2, '.'));

str::format()

Формирует строку.

Пример

$test = 'Значение 1: %key1. Значение 2: %key2.sub1. Значение 3: %key2.sub2. Неизвестный кдюч: %test.';
$array = array(
    'key1' => 'Value #1',
    'key2' => array(
        'sub1' => 'Value #2',
        'sub2' => 'Value #3'
    )
);

// Значение 1: Value #1. Значение 2: Value #2. Значение 3: Value #3. Неизвестный кдюч: %test.
print_r(str::format($test, $array));

str::unhtml()

Экранизирует специальные символы.

Пример

$test = 'М<b>ног</b>о';

// М&lt;b&gt;ног&lt;/b&gt;о
print_r(str::unhtml($test));

str::html()

Обратное от str::unhtml().

Пример

$test = 'М&lt;b&gt;ног&lt;/b&gt;о';

// М<b>ног</b>о
print_r(tags::html($test));

str::md5()

Двойное md5.

str::translit()

Переводит символы в латиницу.

Пример

$test = 'Русский. Česky. Română.'

// Russkii-Cesky-Romana
print_r(str::translit($test));

// Russkii_Cesky_Romana
print_r(str::translit($test, '_'));

// RusskiiCeskyRomana
print_r(str::translit($test, '^'));

str::iconv()

Обёртка для функции iconv().

str::iconv($string [, $from ]);

str::truncate()

Обрезает строку до нужного кол-ва символов, но учитывая знаки препинания.

$test = 'У нас в распоряжении оказалось две сумки травы, семьдесят пять шариков мескалина, пять
промокашек лютой кислоты, солонка с дырочками, полная кокаина, и целый межгалактический парад планет всяких
стимуляторов, транков, визгунов, хохотунда... а также кварта текилы, кварта рома, ящик Бадвайзера, пинта
сырого эфира и две дюжины амила.';
print_r(str::truncate($test, 10));

/* У нас в распоряжении оказалось две сумки травы, семьдесят пять шариков мескалина, пять
промокашек лютой кислоты, солонка с дырочками, полная кокаина, и целый межгалактический парад
планет всяких стимуляторов, транков, визгунов, хохотунда. */

str::gzip()

Сжимает строку и возвращает массив с ключами output (сжатая строка) и encoding (формат сжатия).

Пример

$gzip = str::gzip('Test test test');

if ($gzip['encoding'])
    header('Content-Encoding: '.$gzip['encoding']);

echo $gzip['output'];

str::untag()

Извлекает из строки определнные теги. Третьим и четвёртым параметрами можно задать открывающий и закрывающий тег, соответственно.

Пример

$tags = array();
$test = 'У нас в <b>распоряжении</b> оказалось <i>две</i> [b]сумки[/b] травы, <b>семьдесят</b>...';

$tags['b'] = str::untag('b', $test);
$tags['i'] = str::untag('i', $test);
$tags['bb'] = str::untag('b', $test, '[', ']');

print_r($tags);

/* Array
(
    [b] => Array
        (
            [0] => распоряжении
            [1] => семьдесят
        )

    [i] => Array
        (
            [0] => две
        )

    [bb] => Array
        (
            [0] => сумки
        )

) */

str::json()

Обёртка функции json_decode() дополненная поддержкой апострофов (').