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