把三根绳子合为一根

  • 本文关键字:一根 三根 php
  • 更新时间 :
  • 英文 :


我一直试图将3个字符串组合成一个字符串,但遇到了问题。

字符串在下面。

$from="/2/3/4/5/6/";
$to="/30/31/32/33/34/";
$sub="/2/3/4/5/6/7/8/9/10/11/12/";#this is dynamic, ever changing past > (/2/3/4/5/6/)

输出必须如下所示。

$output="/30/31/32/33/34/6/7/8/9/10/11/12/";

否则,如果CCD_ 1像下面那样改变。

$from="/2/3/4/5/6/";
$to="/30/31/32/33/34/";
$sub="/2/3/4/5/6/7/8/";
$output="/30/31/32/33/34/6/7/8/";

否则如果CCD_ 2改变。

$from="/2/3/4/5/6/";
$to="/30/31/";
$sub="/2/3/4/5/6/7/8/";
$output="/30/31/6/7/8/";

需要先是$to,然后是末尾的$sub,减去末尾/*/(eg./6/)之前的$from,才能组合成1个字符串。

这怎么可能?

您基本上是在存储字符串中序列化的数组结构。聪明的爆炸应该有帮助:

$output = $to
  . implode('/', array_diff(
      explode('/', $sub),
      array_slice(explode('/', $from), 0, -2)
    )) . '/';

另一种选择可以是正则表达式

这可能会帮助您获得您想要的东西:

$str1 = substr($from, -2);
$pos = strpos($sub,$str1);
$str2 = substr($sub,$pos);
$output = $to.$str2;

最新更新