从stringPHP中删除前3个字符和最后3个字符
我需要删除string的前3个字母和string的最后3个字母。 我知道我可以使用substr()开始在一个特定的字符,但如果我需要去除第一个和最后一个字符,我不知道我是否可以实际使用这个。 有什么build议么?
传递一个负值作为length
参数(第三个参数),如:
$result = substr($string, 3, -3);
所以这:
<? $string = "Sean Bright"; $string = substr($string, 3, -3); echo $string; ?>
输出:
ñBri
使用
substr($var,1,-1)
这将永远得到第一个和最后一个,而不必使用strlen。
例:
<?php $input = ",a,b,d,e,f,"; $output = substr($input, 1, -1); echo $output; ?>
输出:
A,B,d,E,F
正如其他答案中所述,您可以使用以下function之一来实现您的目标:
- substr($ string,3,-3)从开始和结束中删除3个字符
- trim($ string,“,”)从开始和结束中删除所有特定的字符
- ltrim($ string,“。”)从开始删除所有特定的字符
- rtrim($ string,“;”)从最后删除所有特定的字符
这取决于你需要删除的字符数量,如果删除需要具体。 但最后substr()
完美地回答你的问题。
也许有人想通过string解引用去掉第一个/最后一个字符。 忘了,它不会工作, 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
对于string,不能使用unset($string[0])
:
致命错误 :无法取消设置/usr/www/***.php中的string偏移**
substr($string, 3, strlen($string) - 6)
我不知道PHP,但你不能把string的长度,作为位置3开始,使用substr长度为6个字符?
$myString='123456789'; $newString=substr($myString,3,-3);