文字列の最初の3文字と文字列の最後の3文字を削除する必要があります。substr()を使用して特定の文字から開始できることはわかっていますが、最初と最後の両方の文字を削除する必要がある場合、実際にこれを使用できるかどうかはわかりません。助言がありますか?
85901 次
6 に答える
103
length
次のように、引数(3番目の引数)として負の値をに渡しますsubstr()
。
$result = substr($string, 3, -3);
したがって、この:
<?php
$string = "Sean Bright";
$string = substr($string, 3, -3);
echo $string;
?>
出力:
nブリ
于 2011-08-12T19:57:31.600 に答える
30
使用する
substr($var,1,-1)
これは、strlenを使用しなくても、常に最初と最後になります。
例:
<?php
$input = ",a,b,d,e,f,";
$output = substr($input, 1, -1);
echo $output;
?>
出力:
a、b、d、e、f
于 2014-10-15T18:24:37.780 に答える
6
他の回答で述べられているように、あなたはあなたの目標を達成するために次の機能の1つを使うことができます:
- 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の文字列オフセットを設定解除できません**
于 2015-04-02T11:01:46.583 に答える
2
substr($string, 3, strlen($string) - 6)
于 2011-08-12T19:57:54.177 に答える
1
PHPはわかりませんが、文字列の長さを取得し、位置3から開始して、substrを使用して長さ6文字を取得することはできませんか?
于 2011-08-12T19:57:15.397 に答える
1
$myString='123456789';
$newString=substr($myString,3,-3);
于 2011-08-12T19:57:54.067 に答える