0

I have an output stream that is saved in a string called $output1, this is displayed to the user. now if I have another stream called $output2 that is identical to $output1 plus a few lines, how can I output only the part of $output 2 that is not in $output1.

For example:

$output1="this cat is";  
$output2="this cat is mine";  

I want to output:

this cat is mine

4

2 回答 2

1

有两种方法可以做到这一点 -

1) <?php echo $output2; ?>- 你会输出 This cat is mine。

2)<?php echo $output1.str_replace($output1, "", $output2); ?>

我建议你使用第一个例子。

无论如何,请描述更多您想要实现的目标。

目前您正在指定两个几乎相同的变量。您可以只指定一个变量,您将使用该变量。

这是类似的东西 -

你有两篇论文,一篇写着“这只猫是”,另一篇写着“这只猫是我的”。你将从第二张纸上剪下“这只猫是”,只留下“我的”。所以你拿胶水把第一张纸和“我的”粘在一起。= 你会浪费时间,让事情变得复杂。

如果您只想获得“我的”,请使用 -str_replace($output1, "", $output2);

于 2012-07-25T08:13:08.147 回答
0
$output1="this cat is";  
$output2="this cat is mine";
$min=(strlen($output1)<strlen($output2)) ? $output1 : $output2 ;
$max=(strlen($output1)>strlen($output2)) ? $output1 : $output2 ;
$pos= strpos($max,$min);
//if you want "this cat is mine", maxima string
if($pos!==FALSE) echo $max;
//if you want " mine", part of the string only in the maxima one.
if($pos !==FALSE) echo substr($max,strlen($min));

编辑:

//if you want "this cat is" from shortest string and " mine" from the other one.
if($pos !==FALSE) echo $min.substr($max,strlen($min));
于 2012-07-25T08:12:53.170 回答