Перейти к содержимому

Как убрать первый символ в строке php

  • автор:

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

8 months ago

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’]) : »;

6 months ago

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

  • Copyright © 2001-2024 The PHP Group
  • My PHP.net
  • Contact
  • Other PHP.net sites
  • Privacy policy

php Удалить первый и последний символ в строке [и пробелы в начале и конце]

vedro-compota's picture

Чтобы удалить сначала проблемы а потом ещё что-то, используйте такую функцию:

/** * Удалит сначала пробелы, а потом иные символы с начала и конца строки * * удалить символ в начале и конце строки * * @param string $str строка * @param string $symbls какие символы удалить после порбелов * @return string */ public static function trimSpacesAnd($str, $symbls) < $str = trim($str); // удаляем пробельные символы $str = trim($str, $symbls); // удаляем указанные символы return $str; >

Key Words for FKN + antitotal forum (CS VSU):

Как удалить последний символ в строке на PHP

Решение задачи такого рода может пригодиться где угодно – например, вы сформировали строку, но вам необходимо удалить лишь 1 символ. Как это сделать?

PHP – проверить последний символ в строке и удалить

Удалим последний символ из строки:

$str = substr($str,0,-1);

Как удалить несколько символов?

$str = substr($str,0,-10); // удалить 10 последних символов

Как узнать самый последний символ в строке?

$lastsymbol = $str;

Используем проверку для удаления последнего символа (запятой)

if ($str == ‘,’)

Ну и напоследок небольшая шпаргалка, найденная в интернете ��

$str = substr("abcdef", 1); // возвращает "bcdef" $str = substr("abcdef", 1, 3); // возвращает "bcd" $str = substr("abcdef", 0, 4); // возвращает "abcd" $str = substr("abcdef", 0, 8); // возвращает "abcdef" // к отдельным символам можно обращаться с помощью фигурных скобок $string = 'abcdef'; echo $string; // выводит a echo $string; // выводит d $str = substr("abcdef", -1); // возвращает "f" $str = substr("abcdef", -2); // возвращает "ef" $str = substr("abcdef", -3, 1); // возвращает "d" $str = substr("abcdef", 0, -1); // возвращает "abcde" $str = substr("abcdef", 2, -1); // возвращает "cde" $str = substr("abcdef", 4, -4); // возвращает "" $str = substr("abcdef", -3, -1); // возвращает "de"

Надеюсь, данная статья была вам полезна �� .

Как удалить первый символ строки в PHP?

Функция substr() , вероятно, поможет вам здесь:

 $str = substr($str, 1); 

Строки индексируются начиная с 0, и этот второй параметр принимает режущий инструмент. Сделайте так, что 1, а первый char ушел.

mario 09 янв. 2011, в 10:37
Поделиться

Знать о юникоде Если вы имеете дело с произвольной строкой (например, «Ål
Thomas Jensen 17 июнь 2012, в 11:22

это неправильная реализация, она не работает с односимвольной строкой «a». если вы попробуете односимвольную строку, substr вернет логическое значение

anru 26 окт. 2015, в 02:20

@anru Руководство указывает, что если длина строки равна параметру start, будет возвращена пустая строка. До версии 7 было возвращено false . Таким образом, вам нужно проверить, равны ли они, если это не то поведение, которое вы хотите.

rybo111 15 фев. 2016, в 16:18
Показать ещё 1 комментарий

$str = substr($str, 1); // this is a applepie :) 

alexn 09 янв. 2011, в 11:01
Поделиться

Время Exec для 3 ответов:

Удалите первую букву, заменив футляр

$str = "hello"; $str[0] = ""; // $str[0] = false; // $str[0] = null; // replaced by �, but ok for echo 

Время Exec для 1.000.000 тестов: 0.39602184295654 sec

Удалите первую букву с помощью substr()

$str = "hello"; $str = substr($str, 1); 

Время Exec для 1.000.000 тестов: 5.153294801712 sec

Удалите первую букву с помощью ltrim()

$str = "hello"; $str= ltrim ($str,'h'); 

Время Exec для 1.000.000 тестов: 5.2393000125885 sec

Удалите первую букву с preg_replace()

$str = "hello"; $str = preg_replace('/^./', '', $str); 

Время Exec для 1.000.000 тестов: 6.8543920516968 sec

Hayenn 07 март 2014, в 13:25
Поделиться

Благодарю. Смотрите мое обновление, хотя. Это вызвало проблему при использовании обновленной строки в запросе SQL.

rybo111 19 март 2014, в 23:16

Я только что попробовал $str[0] = »; решение и оно не сработало. хорошо это делает , однако , если вы потом планируете использовать переменную, например , для сравнения > или < он не будет работать. Он по-прежнему считается `` as + `например $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'

Ian 07 авг. 2014, в 15:44

@Ian: я сталкивался с той же проблемой, когда извлекал записи из API с помощью ключевого слова, пробовал var_dump($keyword) который показывал предыдущую длину символа . затем я пытался обрезать ключевое слово, а затем оно работало нормально var_dump(trim($keyword)) .. Надеюсь, это поможет кому-то .. 🙂

Syed Qarib 08 март 2015, в 07:45

Это не работает. Позиция «удален» заменяется нулевым байтом, поэтому вместо «привет» вы получаете «\ 0hello».

Josef Kufner 24 апр. 2015, в 17:18
требуется время для оценки + trim ()
ina 04 янв. 2017, в 13:00

Я получаю «Предупреждение: Невозможно назначить пустую строку для смещения строки» для $ str [0] = «»;

Francisco Luz 30 апр. 2019, в 05:05
Показать ещё 4 комментария

$str = substr($str, 1); echo $str; 
this is a applepie :) 

Tarun modi 28 март 2017, в 10:46
Поделиться

$str = substr($str, 1); 
echo substr('abcdef', 1); // bcdef 
unset($str[0]) 

не будет работать, так как вы не можете отменить часть строки: —

Fatal error: Cannot unset string offsets 

Gammerz 30 июль 2013, в 19:27
Поделиться

Update

После дальнейших тестов я больше не рекомендую использовать это. Это вызвало у меня проблему при использовании обновленной строки в запросе MySQL и изменении на substr исправлена ​​проблема. Я думал об удалении этого ответа, но комментарии предполагают, что он быстрее, так что кто-то может использовать его. Вы можете найти обрезку обновленной строки, которая разрешает проблемы с длиной строки.

Иногда вам не нужна функция:

$str[0] = ''; 
$str = 'AHello'; $str[0] = ''; echo $str; // 'Hello' 

Этот метод изменяет существующую строку, а не создает другую.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *