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

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

  • автор:

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?

Функция 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' 

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

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

допустим строка «5555»5 или аааааа»
надо убрать первую и последнюю ковычку.
а СокрЛ или СокрП убирает только пустые!

Лев()
Прав()
Сред() не предлагать?

так Лев наоборот отсекает слева допустим если было
Булат
Строка=Лев(«Булат»,1);
Строка будет Б.
а надо
Строка улат

Мы еще про СтрДлина() не сказали.
(4) Шш. Это военная тайна!
Про Сред и СтрДлина уже было?

Булат
Строка=Сред(«Булат»,1);
Строка = улат

Длина=СтрДлина(«Булат»);
Строка = Сред(«Булат»,0,Длина);

тебе обе кавычки выпилить или только одну рандомную?

(10)

Булат
Строка=Сред(«Булат»,1);
Строка = улат

Не свисти!


Длина=СтрДлина(«Булат»);
Строка = Сред(«Булат»,0,Длина);
правильно!

А это эквивалентно Строка=»Булат»

Исходная = «»»Булат»»»;
Результат = Прав(Лев(Исходная,СтрДлина(Исходная)-1), СтрДлина(Исходная)-2);

Сделать запросом еще не предложили? 🙂

Нужно ли много извилин, чтобы в PHP удалить первый символ?

Самое верное решение – это применение функции substr(). Она позволяет отрезать начальный символ. Для этого в значении ее аргументов нужно задать единицу:

$str = «* — этот символ нужно удалить!» ;
$str1 = substr ( $str , 1 ) ;

Нужно ли много извилин, чтобы в PHP удалить первый символ?

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

$str = «* — этот символ нужно удалить!» ;
$str1 = trim ( $str ) ;

Или на ее бездействие. Лишним раз проверяем, как работает функция.

Нужно ли много извилин, чтобы в PHP удалить первый символ?

Добавляем в начало текста пробел. И снова запускаем код. Хотя опять не видно результата работы trim(), но поверьте – она действует. Забыл уточнить, что функция удаляет символы и в начале, и в конце строки.

А еще можно применять ее для избавления от определенного знака. Для этого его нужно указать вторым (необязательным) аргументом. Вот так:

$str = «#этот символ нужно удалить!#» ;
$str1 = trim ( $str , ‘#’ ) ;

Нужно ли много извилин, чтобы в PHP удалить первый символ?

Но это не всегда то, что требуется. А что если нужно избавиться только от символа в начале, а не с обоих концов. Даже для этого случая в PHP есть специальная функция. По своему «подобию и образу» она практически идентична trim(). Но отрезает она только первый знак:

$str = «#этот символ нужно удалить!#» ;
$str1 = ltrim ( $str , ‘#’ ) ;

Нужно ли много извилин, чтобы в PHP удалить первый символ?

Также для решения данной проблемы можно применять регулярки. Но не советую этого делать, поскольку скрипт с их участием «кушает» больше мощностей сервера. Это ничего, если вы запускаете небольшой код. Но при увеличении объемов это может стать источником неприятностей. Так что лучше все-таки, чтобы мозги присутствовали, и их извилин хватило на то, чтобы в этой ситуации применять встроенные функции PHP.

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

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