gpt4 book ai didi

php - 如何通过多个定界符分解字符串并保留定界符?

转载 作者:行者123 更新时间:2023-12-02 15:25:26 27 4
gpt4 key购买 nike

<分区>

我正在尝试使用多个定界符(↑↑、↑、↓↓、↓)分解字符串。

例如我有这个输入字符串:

$string = "(2.8 , 3.1) → (↓↓2.4 , ↓3.0)";

我想将它转换成这样的数组(预期输出):

Array
(
[0] => (2.8 , 3.1) → (
[1] => ↓↓
[2] => 2.4 ,
[3] => ↓
[4] => 3.0)
)

我最好的尝试打印了这个(当前输出):

Array
(
[0] => (2.8 , 3.1) → (
[1] => ↓
[2] => ↓2.4 ,
[3] => ↓3.0)
)

这是我当前的代码:

<?php

function multiexplode ($delimiters,$string) {
return explode(
$delimiters[0],
strtr(
$string,
array_combine(
array_slice($delimiters,1),
array_fill(0,count($delimiters)-1,array_shift($delimiters))
)
)
);
}

$delimiters = array('↑↑','↑','↓↓','↓');
$test = array('2up↑↑','1up↑','2down↓↓','1down↓');
$newDel = array('2up','1up','2down','1down');
$array = array();

$strings = array(
"(2.8 , 3.1) → (↓↓2.4 , ↓3.0)",
"(2.7 , 2.6) → (↑2.8 , ↑↑3.0)",
"(2.0 , 3.4) → (↑↑2.8 , ↓↓2.3)"
);

foreach($strings as $string){
foreach($test as $key => $reps){
$string = str_replace(
$delimiters[$key],
$reps,
$string
);
}
//echo $string;
$array[] = array_values(array_filter(multiexplode($newDel,$string)));
}

?>

我正在按照那种格式构建它,因为我要循环这些值并在 powerpoint 中打印它们,而那些分隔符(箭头)有不同的颜色

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com