Удалить первые 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 ($string, 3, -3) удаляет 3 символа из начала и конца
- trim ($string, ",") удаляет все специфические символы из начала и конца
- ltrim ($string, ".") удаляет все определенные символы из start
- rtrim ($string, ";") удаляет все определенные символы из конец
это зависит от количества символов, которые вам нужно удалить, и если удаление должно быть конкретным. Но наконец 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**
Я не знаю php, но не можете ли вы взять длину строки, начать с позиции 3 и взять длину-6 символов с помощью substr?