Мне нужно удалить первые 3 буквы строки и последние 3 буквы строки. Я знаю, что я могу использовать substr(), чтобы начать с определенного символа, но если мне нужно снять как первый, так и последний символы, я не уверен, могу ли я действительно использовать это. Какие-либо предложения?
Удалить первые 3 символа и последние 3 символа из String PHP
Ответ 1
Передайте отрицательное значение в качестве аргумента length
(третий аргумент), например:
$result = substr($string, 3, -3);
Итак, это:
<?
$string = "Sean Bright";
$string = substr($string, 3, -3);
echo $string;
?>
Выходы:
n Bri
Ответ 2
Использование
substr($var,1,-1)
это всегда будет первым и последним без использования strlen.
Пример:
<?php
$input = ",a,b,d,e,f,";
$output = substr($input, 1, -1);
echo $output;
?>
Вывод:
а, б, г, д, е
Ответ 3
Как указано в других ответах, вы можете использовать одну из следующих функций для достижения своей цели:
- substr ($ string, 3, -3) удаляет 3 символа с начала и конца.
- trim ($ string, "," ) удаляет все определенные символы с начала и конца
- ltrim ($ string, "." ) удаляет все конкретные символы с начала
- rtrim ($ string, ";" ) удаляет все конкретные символы с конца
Это зависит от количества символов, которые нужно удалить, и если удаление должно быть конкретным. Но, наконец, substr()
отлично отвечает на ваш вопрос.
Возможно, кто-то думает об удалении первого/последнего char через разыменования строк. Забудьте, что это не сработает, так как null
является char:
<?php
$string = 'Stackoverflow';
var_dump($string);
$string[0] = null;
var_dump($string);
$string[0] = null;
var_dump($string);
echo ord($string[0]) . PHP_EOL;
$string[1] = '';
var_dump($string);
echo ord($string[1]) . PHP_EOL;
?>
возвращает:
string(13) "Stackoverflow"
string(13) "tackoverflow"
string(13) "tackoverflow"
0
string(13) "ackoverflow"
0
И нельзя использовать unset($string[0])
для строк:
Неустранимая ошибка: Невозможно отключить смещения строк в /usr/www/***. php в строке **
Ответ 4
substr($string, 3, strlen($string) - 6)
Ответ 5
Я не знаю php, но вы не можете взять длину строки, начать как позицию 3 и взять длину-6 символов, используя substr?
Ответ 6
$myString='123456789';
$newString=substr($myString,3,-3);