создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

trim (функция обрезки пробелов в конце и начале переменной [и не только]) в php

string trim (string $str[,string $character_mask=" \t\n\r\0\x0B"])

Эта функция возвращает строку str с удаленными из начала и конца строки пробелами. Если второй параметр не передан, trim() удаляет следующие символы:

" " (ASCII 32 (0x20)) - обычный пробел;

"\t" (ASCII 9 (0x09)) - символ табуляции;

"\n" (ASCII 10 (0x0A)) - символ перевода строки;

"\r" (ASCII 13 (0x0D)) - символ возврата каретки;

"\0" (ASCII 0 (0x00)) - NUL-байт;

"\x0B" (ASCII 11 (0x0B)) - вертикальная табуляция.

Список параметров

str

Обрезаемая строка (string).

character_mask

Можно также задать список символов для удаления с помощью необязательного аргумента character_mask. Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию для обозначения диапазона символов.

Возвращаемые значения

Обрезаемая строка.

Пример использования trim()

<?

$text="\t\tThese are a few words. ";

$binary="\x09Example string\x0A";

$hello="Hello World";

var_dump($text,$binary,$hello);

print "\n";

$trimmed=trim($text);

var_dump($trimmed);

$trimmed=trim($text," \t.");

var_dump($trimmed);

$trimmed=trim($hello,"Hdle");

var_dump($trimmed);

$trimmed=trim($hello,'HdWr');

var_dump($trimmed);

//удаляем управляющие ASCII-символы с начала и конца $binary

//(от 0 до 31 включительно)

$clean=trim($binary,"\x00..\x1F");

var_dump($clean);

?>

Результат выполнения данного примера:

string(32) " These are a few words :) ... "

string(16) " Example string

"

string(11) "Hello World"

string(28) "These are a few words :) ..."

string(24) "These are a few words :)"

string(5) "o Wor"

string(9) "ello Worl"

string(14) "Example string"

Пример 2. Обрезание значений массива с помощью trim()

<?

function trim_value(&$value)

{

$value=trim($value);

}

$fruit=array('apple','banana ',' cranberry ');

var_dump($fruit);

array_walk($fruit,'trim_value');

var_dump($fruit)?>

Результат выполнения данного примера:

array(3){

[0]=>

string(5)"apple"

[1]=>

string(7)"banana "

[2]=>

string(11)" cranberry "

}

array(3){

[0]=>

string(5)"apple"

[1]=>

string(6)"banana"

[2]=>

string(9)"cranberry"

}

Возможные трюки: удаление символов из середины строки:

Т.к. trim() удаляет символы с начала и конца строки string, то удаление (или неудаление) символов из середины строки может ввести в недоумение. trim('abc','bad') удалит как 'a', так и 'b', потому что удаление 'a' сдвинет 'b' к началу строки, что также позволит ее удалить. Вот почему это работает, тогда как trim('abc','b') очевидно нет.

Смотрите также:

ltrim() удаляет пробелы (или другие символы) из начала строки.

rtrim() удаляет пробелы (или другие символы) из конца строки.

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting