如何在第一个冒号处拆分字符串

时间:2012-02-11 09:24:14

标签: php regex

$str = "X-Storage-Url: https://pathofanapi";

我想将其拆分为数组(“X-Storage-Url”,“https:// pathofanapi”)。

有人可以告诉我正则表达式吗?正则表达式一直是我的弱点。

感谢。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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
)