2012-02-28 12 views
1

は、私はPHP 5.3.10PHPのはstrstr()関数の交換

<?php 
$string = '25_testing'; 
$test = strstr($string, '_', true); // As of PHP 5.3.0 
echo $test; // prints 25 
?> 

まあ、私は私のホスティングサーバー上の私のファイルをアップロードしたが、それらが実行されている上、私はlocalhost上はstrstrを使用しています方法の例ですPHPの5.2オフになるので、関数strstr($string, '_', true)は機能しません。同じ結果を得るために私が使用できる代替手段がありますか?

+0

奇数、その機能はV4以来PHPにされています。操作上の違いはありません。どのようにあなたのために "動作しません"?何も戻らない? 25以外の何か? –

+0

私は取得:PHPの警告:strstr()のパラメータカウントが間違っています。だから私は本当のパラメータを取り除くことができますが、それは私に別の結果を与えるだろう、私はアンダースコアの前に文字をつかむためにそこにそれが必要です – Drew

+0

ああ。 doh。それはドキュメントの中にあります。 3番目のパラメータはPHP 5.3で追加されました。私はちょうどコーナーに滑り落ちてコーヒーを飲んで目を覚ます。 –

答えて

2

あなたは(自身を含む)、「_」の後の文字列を返し、その後、何でそれを置き換える

まず...これを試してみてください。ない非常に素晴らしいが、それは動作します。)

<?php 
    $string = "25_testing"; 
    echo str_replace(stristr($string,"_"),"",$string); 
?> 

または

<?php 
    $string = "25_testing"; 
    echo str_replace(strstr($string,"_"),"",$string); 
?> 
0

trueを落とし、結果の最後から針の長さをスライスします。

1

あなたはstrpossubstrの組み合わせを使用することができます。

<?php 
$string = '25_testing'; 
$test = substr($string, 0, strpos('_')); //maybe check if strpos does not return FALSE 
echo $test; 
?>