Trim удаление пробелов php

trim

Эта функция возвращает строку с удаленными пробелами в начале и в конце string . Без второго параметра trim () удаляет эти символы:

  • » » ( ASCII 32 ( 0x20 )), обычный пробел.
  • «\t» ( ASCII 9 ( 0x09 )), таб.
  • «\n» ( ASCII 10 ( 0x0A )), новая строка (перевод строки).
  • «\r» ( ASCII 13 ( 0x0D )), возврат каретки.
  • «\0» ( ASCII 0 ( 0x00 )), NUL — байт.
  • «\v» ( ASCII 11 ( 0x0B )), вертикальная табуляция.

Parameters

Строка,которая будет обрезана.

При желании разделенные символы также можно указать с помощью параметра characters . Просто перечислите всех персонажей, которых вы хотите удалить. С помощью .. вы можете указать диапазон символов.

Return Values

Examples

Пример # 1 Пример использования 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); // trim the ASCII control characters at the beginning and end of $binary // (from 0 to 31 inclusive) $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" >

Notes

Примечание : возможная ошибка: удаление средних символов

Поскольку trim () обрезает символы в начале и в конце строки, может возникнуть путаница, когда символы удаляются (или не удаляются) из середины. trim(‘abc’, ‘bad’) удаляет как ‘a’, так и ‘b’, потому что он обрезает ‘a’, таким образом перемещая ‘b’ в начало, чтобы также быть обрезанным. Вот почему он «работает», тогда как trim(‘abc’, ‘b’) видимому, не работает.

See Also

  • ltrim () — удаляет пробелы (или другие символы) из начала строки
  • rtrim () — Удаляет пробелы (или другие символы) из конца строки
  • str_replace () — заменяет все вхождения строки поиска строкой замены
PHP 8.2

(PHP 5 5.4.0,7,8)trait_exists Проверяет наличие Имя трейта для проверки Нужно ли автозагружать,если он еще не загружен.

(PHP 4 4.0.1,5,7,8)trigger_error Генерирует сообщение об ошибке/предупреждении/сообщение на уровне пользователя Используется для запуска условия ошибки пользователя,может использоваться в сочетании с

(PHP 4,5,7,8)uasort массив с заданной пользователем функцией сравнения и сохранением ассоциации индексов Сортирует массив на месте так,что его ключи сохраняются

(PHP 4, 5, 7, 8) ucfirst Преобразование символов строки в верхний регистр Возвращает строку с первым символом, набранным заглавными буквами, если это алфавит.

Источник

trim

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

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

Примеры

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

$text = «\t\tThese are a few words 🙂 . » ;
$binary = «\x09Example string\x0A» ;
$hello = «Hello World» ;
var_dump ( $text , $binary , $hello );

$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()

$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() — Удаляет пробелы (или другие символы) из конца строки
  • str_replace() — Заменяет все вхождения строки поиска на строку замены

Источник

Удаление лишних пробелов в PHP.

Обрабатывая информацию, собирая ее из разных источников, например с сайта поставщика, мы часто сталкиваемся с тем, что нам надо ее привести в достойный вид, удалив лишние пробелы.

Удаление пробелов в начале или конце строки.

Стандартные функция trim( string $str [, string $character_mask = » \t\n\r\0\x0B» ]) удаляет все возможные пробелы в начале или в конце строки, так же эта функция может удалять те символы, которые вам не нужны, например точку или запятую:

Так же есть 2 функции, ltrim и rtrim, которые работают так же как и trim, за исключением того , что ltrim удаляет символы в начале строки, а rtrim в конце.

Удаление лишних пробелов в самом тексте.

Иногда нужно удалить лишние пробелы, а иногда и табы, в самом тексте, например: «Купив телефон сегодня вы получите самый лучший подарок». В этом тексте после каждого слова стоит более 1 пробела, Попробуем заменить лишние через регулярное выражение:

В данном случае \s говорит что надо заменить все пробелы, а + включая табы на 1 пробел. Если вы считаете, что регулярные выражения зло, то можно использовать:

$str = str_replace(» «, » «, $str); while( strpos($str,» «)!==false)

Удаление «не удаляемых» пробелов.

Возможно вы столкнулись с такой проблемой, что ни одно из средств перечисленных выше не удаляет пробелы. Для начала рассмотрите внимательно текст, желательно в исходном коде, потому что текст « Купив телефон сегодня вы получите самый лучший подарок» может оказаться таким: «&nbsp;Купив  телефон сегодня вы получите самый лучший подарок». Для начала надо заменить &nbsp; и   просто на пробелы:

$str = str_replace('&', '&', $str); $str = str_replace(' ', ' ', $str);

А потом, применить один из способов, о котором я писал выше.

Хорошо, это мы сделали, но у нас остались лишние пробелы, которые не удаляются стандартными методами. Вероятнее всего это NO-BREAK SPACE, в таблице utf-8 символов он идет как c2 a0.

Для начала попробуйте перевести ваш текст в HEX:

echo bin2hex($str); echo substr_count($str, "\xc2\xa0");

и поищите там: c2a0, как видно на скриншоте, у меня аж 2 таких пробела

Удаление через регулярное выражение:

echo preg_replace('!\s++!u', ' ', $str);

Удаление без регулярного выражения:

$text = hex2bin(str_replace('c2a0', '20', bin2hex($str))); while( strpos($text,' ')!==false) < $text = str_replace(" ", " ", $text); >$text = trim($text);

переводим наш текс в HEX, заменяем NO-BREAK SPACE на обычный пробел, переводим обратно в обычный текст, после этого можно сделать замену пробелов и чистку.

Возможно у вас есть свой способ, может более практичный, как исправлять «не удаляемые» пробелы, то поделитесь в комментариях.

Источник

trim

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

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

Примеры

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

$text = «\t\tThese are a few words 🙂 . » ;
$binary = «\x09Example string\x0A» ;
$hello = «Hello World» ;
var_dump ( $text , $binary , $hello );

$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()

$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() — Удаляет пробелы (или другие символы) из конца строки
  • str_replace() — Заменяет все вхождения строки поиска на строку замены

User Contributed Notes 2 notes

note there is a behaviour change in php 8

You used to be able to say:
$p1 = trim($_POST[‘p1’]);
This will now throw deprecated warnings if parameter p1 is not set. It is better to say:
$p1 = trim($_POST[‘p1’]??»);
or
$p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : null;
or
$p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : »;

Note that trim() is not aware of Unicode points that represent whitespace (e.g., in the General Punctuation block), except, of course, for the ones mentioned in this page.

There is no Unicode-specific trim function in PHP at the time of writing (July 2023), but you can try some examples of trims using multibyte strings posted on the comments for the mbstring extension: https://www.php.net/manual/en/ref.mbstring.php

Источник

PHP trim() Function

Remove characters from both sides of a string («He» in «Hello» and «d!» in «World»):

Definition and Usage

The trim() function removes whitespace and other predefined characters from both sides of a string.

  • ltrim() — Removes whitespace or other predefined characters from the left side of a string
  • rtrim() — Removes whitespace or other predefined characters from the right side of a string

Syntax

Parameter Values

  • «\0» — NULL
  • «\t» — tab
  • «\n» — new line
  • «\x0B» — vertical tab
  • «\r» — carriage return
  • » » — ordinary white space

Technical Details

Return Value: Returns the modified string
PHP Version: 4+
Changelog: The charlist parameter was added in PHP 4.1

More Examples

Example

Remove whitespaces from both sides of a string:

The HTML output of the code above will be (View Source):

Without trim: Hello World!
With trim: Hello World!

The browser output of the code above will be:

Example

Remove newlines (\n) from both sides of the string:

$str = «\n\n\nHello World!\n\n\n»;
echo «Without trim: » . $str;
echo «
«;
echo «With trim: » . trim($str);
?>

The HTML output of the code above will be (View Source):

The browser output of the code above will be:

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

Читайте также:  Python чтение yaml файла
Оцените статью