45

文字列の最初の3文字と文字列の最後の3文字を削除する必要があります。substr()を使用して特定の文字から開始できることはわかっていますが、最初と最後の両方の文字を削除する必要がある場合、実際にこれを使用できるかどうかはわかりません。助言がありますか?

4

6 に答える 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()あなたの質問に完全に答えます。

たぶん誰かが文字列の逆参照によって最初/最後の文字を削除することを考えています。それを忘れてください、それはnullcharのようには機能しません:

<?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 に答える