2011-11-11 19 views
0

に複雑な文字列の部分文字列を取得しますか?私は次の文字列を持っているPHP

+0

本当に問題文を展開する必要があります。あなたはRTの後に名前を取得しようとしていますか?複数あることができますか?等 – Aerik

+2

より具体的にする必要があります...あなたのテキストの位置が文字列から文字列に変わるでしょうか?あなたが望むものはおそらく正規表現になるでしょう... – Bryan

+0

文字列から "GetThisOne"を抽出したいのですか? '@'と ':'の間に文字列を抽出する必要がありますか? これまでに何を試みましたか?何がうまくいかない? –

答えて

2

あなたはこのようpreg_matchを使用することができます:

<?php 

$string = "@String RT @GetThisOne: Natio"; 
preg_match('/@.*@([A-Za-z]*)/', $string, $matches); 
echo $matches[1]; // outputs GetThisOne 

ここでは、パターンは次のとおりです。秒の後に数字の文字列を見つける@Ideone example.

1

"@"の位置を見つけ、 "@"の後に ":"の位置を計算します。

$at = strpos($string,'@'); 

substr($string,$at,strpos($string,':',$at)-$at); 
1

あなたはいつも、PHPは機能

$string = "@String RT @GetThisOne: Natio" 

$arr = explode('@', $string); 

if(is_array($arr) && count($arr)>0) 
{ 
    echo $arr[0]."\n"; 
    echo $arr[1]; 
} 

文字列RT

GetThisOneうちエコーう爆発試みることができる:Natio

+0

またはあなたはショータンにすることができます –

関連する問題