php Удалить первый и последний символ в строке [и пробелы в начале и конце]
![]()
Чтобы удалить сначала проблемы а потом ещё что-то, используйте такую функцию:
/** * Удалит сначала пробелы, а потом иные символы с начала и конца строки * * удалить символ в начале и конце строки * * @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 ) ;

Существует еще одна функция, специализирующаяся на обрезке строки. Точнее, trim() убирает только некоторые символы: пробелы, перевода строки и табуляции. Смотрим ее в действии:
$str = «* — этот символ нужно удалить!» ;
$str1 = trim ( $str ) ;
Или на ее бездействие. Лишним раз проверяем, как работает функция.

Добавляем в начало текста пробел. И снова запускаем код. Хотя опять не видно результата работы trim(), но поверьте – она действует. Забыл уточнить, что функция удаляет символы и в начале, и в конце строки.
А еще можно применять ее для избавления от определенного знака. Для этого его нужно указать вторым (необязательным) аргументом. Вот так:
$str = «#этот символ нужно удалить!#» ;
$str1 = trim ( $str , ‘#’ ) ;

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

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