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

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

6 ответов


передайте отрицательное значение как


использовать

substr($var,1,-1)

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

пример:

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

выход:

a,b,d,e, f


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

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

может быть, кто-то думает об удалении первого/последнего символа через строка разыменование. Забудьте, что это не будет работать как null также является символом:

<?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 on line**


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

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


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