我需要用不同的分隔符分割字符串。所以我找到了&使用此代码:
function explodeX($delimiters,$string)
{
$return_array = Array($string);
$d_count = 0;
while (isset($delimiters[$d_count]))
{
$new_return_array = Array();
foreach($return_array as $el_to_split)
{
$put_in_new_return_array = explode($delimiters[$d_count],$el_to_split);
foreach($put_in_new_return_array as $substr)
{
$new_return_array[] = $substr;
}
}
$return_array = $new_return_array;
$d_count++;
}
return $return_array;
}
它工作正常,但现在,我需要反转它并找到它实际使用的分隔符。 我使用过这种线:
$val=explodeX(array("+","-","*","/"), $input);
现在,我需要返回正确的分隔符。
提前致谢。
答案 0 :(得分:0)
使用了您在$delimiters
中设置的所有分隔符,如下一行所示:
while (isset($delimiters[$d_count]))
$d_count
在循环底部递增$d_count++
,并在循环遍历所有分隔符后返回$return_array
,与$string
分开。指定了。
要将正确的分隔符放回原来的位置,除非您修改在$return_array
中返回的信息,否则不能。这样的东西就是你要找的东西:
$return_array[] = $new_return_array;
$delim = $delimiters[$d_count];
$return_array['delim'] = new Array();
$return_array['delim'][$delim][] = $new_return_array;
$d_count++;
这会将每个分隔符分隔的单词存储在返回结果的delim
索引下的子数组中。然后你需要做的就是将这些内容逼回来:
$string2 = '';
foreach ( $return_array as $delim => $word )
{
// not sure how to reverse your function at this moment, will get back with this part...
}