Шаг 68.
Основы языка PHP.
Строки. Функции удаления лишних пробелов. Функции trim(), ltrim() и rtrim()

    На этом шаге мы рассмотрим функции удаления начальных и концевых пробелов.

    Иногда необходимо произвести удаление лишних пробелов с конца или с начала строки или же одновременно и с конца и с начала.

    Для удаления символов пробела с начала и конца строки имеется функция trim().

    Ее общий вид следующий:


Рис.1. Общий вид функции trim()

    Например:

<?php
$str = " Иванов Иван Иванович ";
$new_str = trim($str);
echo $new_str;   // выводит "Иванов Иван Иванович"
?>

    В данном примере функция trim() возвращает строку без удаленных пробелов.

    Второй параметр этой функции является необязательным и если он не задан, то удаляются следующие символы:

    Можно также задать список символов для удаления. С помощью ".." можно задать диапазон символов. Например:

<pre>
<?php
$text = "\t\tЛишь несколько слов :) ...  ";
echo trim($text)."<br>";   // "Лишь несколько слов :) ..."
echo trim($text," \t.");   // "Лишь несколько слов :)"
/* удалить управляющие символы ASCII из начала и 
конца строки $binary (от 0 до 31 включительно) */
$clean = trim($binary, "\x00..\x1F");
?>
</pre>

    Так же есть функции ltrim() и rtrim() синтаксис которых аналогичен синтаксису функции trim().

    Функция ltrim() возвращает строку с удаленными из начала строки пробелами. Функция rtrim() возвращает строку с удаленными с конца строки пробелами. В остальном эти функции аналогичны функции trim(). Например:

<pre>
<?php
$text = "\t\tЛишь несколько слов :) ...  ";
$trimmed = ltrim($text);
// $trimmed = "Лишь несколько слов :) ...  "
echo $trimmed."<br>";
$trimmed = ltrim($text, " \t.");
// $trimmed = "Лишь несколько слов :) ...  "
echo $trimmed."<br>";
$clean = ltrim($binary, "\x00..\x1F");
/* удалить управляющие символы ASCII из начала строки 
$binary (от 0 до 31 включительно) */
$text = "\t\tЛишь несколько слов :) ...  ";
$trimmed = rtrim($text);
// $trimmed = "\t\tЛишь несколько слов :) ..."
echo $trimmed."<br>";
$trimmed = rtrim($text, " \t.");
// $trimmed = "\t\tЛишь несколько слов :)"
echo $trimmed."<br>";
$clean = ltrim($binary, "\x00..\x1F");
/* удалить управляющие символы ASCII из конца строки 
$binary (от 0 до 31 включительно) */
?>
</pre>

    Со следующего шага мы начнем знакомиться с функциями разбиения и соединения строк.




Предыдущий шаг Содержание Следующий шаг