2012-03-30 8 views
0

今私は私の文字列substr($row->review[$i] , 0, 120)でこれを使用していますが、それ以上の時間を取って、最後の期間を見つけてすべてを取り出してください。何か案は?最後の期間の後にすべてを引いて

答えて

5
$a = 'string you got with substr. iwehfiuhewiufh ewiufh . iuewfh iuewhf 
    iewh fewhfiu h. iuwerfh iweh f.ei wufh ewifh iuhwef'; 

$p = strrpos($a, '.'); 
if ($p !== false) // Sanity check, maybe there isn't a period after all. 
    $a = substr($a, 0, $p + 1 /* +1 to include the period itself */); 
echo $a; 
+2

「if(($ p = strrpos($ a、 '。'))!== false)$ a = substr($ a、0、$ p + 1); ' – Xeoncross

+0

@Xeoncrossはい、私は通常それもやっていますが、初心者にとっては読みにくいかもしれません。 – GolezTrol

+0

素晴らしい作品、strrposについて知りませんでした、もう一度ありがとう – Jacinto

0

strrpos()のドキュメントを参照してください。

1

アレックスが指摘したように、のstrrpos()は、サブ文字列の最後に現れる場所を見つけることができます。

$offset = strrpos($row->review[$i],'.'); 

その後は、これは主変数の最後の部分を切り取るためにオフセットを使用します。

echo substr($row->review[$i],$offset); 
0

これはかなり簡単なソリューションであり、拡張またはどのように多くのドットや他の文字が文字列内にあるどのくらいに関係なく動作します。

$filename = "abc.def.jpg"; 

$newFileName = substr($filename, 0 , (strrpos($filename, "."))); 

//$newFileName will now be abc.def 

これは基本的にはの最後のオカレンスを探します。サブストリングを使用してそのポイントまでのすべての文字を取得します。

グーグルの例に似ていますが、正規表現や他の例よりも簡単で、速く、簡単です。とにかくまあまあ。誰かを助けることを願っています。

関連する問題