2012-02-11 12 views
0

これを配列( "X-Storage-Url"、 "https:// pathofanapi")に分割したいと思います。最初のコロンで文字列を分割する方法

誰かが私にこの正規表現を教えてもらえますか?正規表現はいつも私の弱点です。

ありがとうございました。

+0

あなたが必要なこの – Gordon

+0

ありません正規表現、ちょうど爆発する方法のための正規表現を必要といけません。 –

答えて

3
$array = array_map('trim', explode(':', $str, 2)); 
+2

explode関数の3番目のlimitパラメータを使用するのがおそらく最も安全でしょう。つまり、そこにあるスペースに頼らないことです。 – ArthurGuy

+0

"各ヘッダーフィールドはコロン(": ")とフィールド値の後に続く名前で構成されます[...]フィールド値** MAY **の前には任意のLWSが付いていますが、 " [RFC 2616](http://tools.ietf.org/html/rfc2616#section-4.2)HTTPヘッダーに 'name'と' field value'の間に1つ以上のスペースがある場合、これは失敗します。 – Saxoier

0

これまで通り、explodeはこの仕事を行うのに適したツールです。

あなたが本当に正規表現をしたい場合は、ここで行う方法です:するpreg_matchと

$str = "X-Storage-Url: https://pathofanapi"; 
preg_match('/^([^:]+):\s*(.*)$/', $str, $m); 
print_r($m); 

出力:

Array 
(
    [0] => X-Storage-Url: https://pathofanapi 
    [1] => X-Storage-Url 
    [2] => https://pathofanapi 
) 

かとpreg_split;

$arr = preg_split('/:\s*/', $str, 2); 
print_r($arr); 

出力:

Array 
(
    [0] => X-Storage-Url 
    [1] => https://pathofanapi 
)