2

我在 PHP 中有一个字符串。

$str = "1.testone (off) 2.testtwo (off) 3.testthree (off)";

我需要在“。”之间分割字符串。和“(”。

我知道我可以在“。”处拆分字符串。和:

$str1 = explode('.', $str);

这会将字符串放入数组中,数组项位于“.”之间。有没有办法用“。”之间的数组项创建一个数组。和“ (”,然后剪掉其余部分,或者将其保留在数组中,但在 2 个不同的位置爆炸字符串。

4

3 回答 3

2

在explode中使用explode,结合foreach循环。

$str = "1.testone (off) 2.testtwo (off) 3.testthree (off)";
$explode1 = explode('.', $str);
$array = array();

foreach($explode1 as $key => $value) {
$explode2 = explode('(', $explode1[$key]);
array_push($array, $explode2[0]);
}

print_r($array);

产生:

数组( [0] => 1 [1] => testone [2] => testtwo [3] => testthree )

于 2013-06-01T01:25:55.850 回答
1
$str = "1.testone (off) 2.testtwo (off) 3.testthree (off)";
$arr = array();
foreach(explode('.',$str) as $row){
    ($s=strstr($row,'(',true)) && $arr[] = $s;
}
print_r($arr);
//Array ( [0] => testone [1] => testtwo [2] => testthree )
于 2013-06-01T01:56:50.897 回答
1
<?php
    $str = "1.testone (off) 2.testtwo (off) 3.testthree (off)";

    $result = preg_split("/\.|\(/", $str);

    print_r($result);
?>

结果:

Array
(
    [0] => 1
    [1] => testone 
    [2] => off) 2
    [3] => testtwo 
    [4] => off) 3
    [5] => testthree 
    [6] => off)
)
于 2013-06-01T01:31:56.167 回答