2011-02-09 22 views
2

単語の後にのみ、次の6つの文字を取得します。私はこの文字列を持っている

$string = 'foo bar php haystack needle'

を、私はphp後に次の6つの文字を取得したいので、私はなるだろう:

haysta

どうすればいいですか?

挨拶

+0

phpとhaystackの間にスペースを入れ、 '[space] hayst'や最初の6文字の空白以外の文字' haysta'を返しますか? –

答えて

5

'の後に' あなただけの持っています'php'の位置を見つけて、その位置にsubstr()を追加します('php'をスキップする場合):

$needle = 'php'; 
$str = substr($string, strpos($string, $needle) + strlen($needle), 6); 

第3パラメータ(6)は、必要な部分文字列の長さです。

+0

静的な値(+3)と 'php'を持っていても、この動的にはなりません。 – Andreas

+0

彼は考えを得るためだけだった。しかし、私は編集、ありがとう:) –

+0

ありがとう、それは私のために働いた=) – Thew

1

substr機能を使用します。

<?php 

$string = 'foo bar php haystack needle'; 

$snippet = substr($string,12,5); 

echo $snippet; 

?> 
+0

おそらく目的は、PHPの文字列を検索し、そこから部分文字列を開始することです。ハードコードされた値としての12は良い手掛かりですが、私は意図を推測していません。 – Randy

+0

PHPの前の文字列は文字の量が変わる可能性があるので、 – Thew

+0

ああ、あなたは仕様書に入れていませんでした:)。 – Banjer

3

このアプローチは、見て....あなたは別のシード文字列を持つことができるようになる

$seedString = "php"; 

$sub= substr($string,strpos($string,$seedString)+strlen($seedString),6); 
関連する問題