我想要做的是取一个字符串并将其分成更小的部分。输入字符串具有固定的结构:
{something here}loremipsum;loremipsum2;{something else here} ...
我想做的是每次找到括号或“;”时创建一个子字符串,即:
{ something here }
lorem ipsum
lorem ipsum 2
{ something else here }
到目前为止,我编写的 PHP 代码并不总是能很好地工作,这意味着有时我会得到类似于{something here}loremipsum
单个部分的东西,而当它应该分成两个部分时。
public function divide() {
$item = "";
$splitted_instructions = str_split($this->instructions);
for($i=0; $i<count($splitted_instructions); $i++) {
if ($splitted_instructions[$i] == "{") {
while ($splitted_instructions[$i+1] != "}") {
$i++;
$item .= $splitted_instructions[$i];
}
$item = "{" . $item . "}";
$items[] = $item;
$item = "";
} else {
while ($splitted_instructions[$i+1] != ";" && $i<count($splitted_instructions)) {
$i++;
$item .= $splitted_instructions[$i];
}
$items[] = $item;
$item = "";
}
}
print_r($items);
}
当然,如果有更好的方法,请告诉我:)