我在PHP中有一个字符串。
$str = "1.testone (off) 2.testtwo (off) 3.testthree (off)";
我需要在“。”之间拆分字符串。和“(”。
我知道我可以将字符串拆分为“。”用:
$str1 = explode('.', $str);
这会将字符串放入一个数组中,数组项位于“。”之间。有没有办法在“。”之间创建一个包含数组项的数组。和“(”,要么切掉其余部分,要么将其保留在数组中,但要在两个不同的位置爆炸。
答案 0 :(得分:2)
在爆炸中使用爆炸,并结合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)
答案 1 :(得分: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)
)
答案 2 :(得分: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 )