Удалить первые 3 символа и последние 3 символа из String PHP

Мне нужно удалить первые 3 буквы строки и последние 3 буквы строки. Я знаю, что я могу использовать substr (), чтобы начать с определенного символа, но если мне нужно снять как первый, так и последний символы, я не уверен, могу ли я действительно использовать это. Какие-либо предложения?

Передайте отрицательное значение как аргумент length (третий аргумент), например:

 $result = substr($string, 3, -3); 

Итак, это:

 <? $string = "Sean Bright"; $string = substr($string, 3, -3); echo $string; ?> 

Выходы:

  n Bri 

использование

 substr($var,1,-1) 

это всегда будет первым и последним без использования strlen.

Пример:

 <?php $input = ",a,b,d,e,f,"; $output = substr($input, 1, -1); echo $output; ?> 

Вывод:

а, б, г, д, е

Как указано в других ответах, вы можете использовать одну из следующих функций для достижения своей цели:

  • substr ($ string, 3, -3) удаляет 3 символа с начала и конца
  • trim ($ string, ",") удаляет все конкретные символы с начала и конца
  • ltrim ($ string, ".") удаляет все конкретные символы с начала
  • rtrim ($ string, ";") удаляет все конкретные символы с конца

Это зависит от количества символов, которые нужно удалить, и если удаление должно быть конкретным. Но, наконец, substr() отлично отвечает на ваш вопрос.

Возможно, кто-то думает об удалении первого / последнего символа путем разыменования строк . Забудьте, что это не сработает, так как значение 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 в строке **

 substr($string, 3, strlen($string) - 6) 

Я не знаю php, но не можете ли вы взять длину строки, начать как позицию 3 и взять длину-6 символов, используя substr?

 $myString='123456789'; $newString=substr($myString,3,-3);