我的文字(...
是它的实际部分):
(01) Text here
(02) sometimes also (with brackets)
(03) foo
(05) and [other stuff!?]
...
(07) foo
(08) bar
(09) bar
查找重复的行(XX) foo
并(XX) bar
打印它们。
//workaround
$tNormalized = preg_replace('/(*ANYCRLF)^\(\d+\) /m', '(??) ', $t);
$arr = explode("\n", $tNormalized);
if ( count($arr) > 1 ) {
for ($i=1; $i<count($arr); $i++) {
if( $arr[$i-1] == $arr[$i] ) {
echo "Match:<br>";
echo $arr[$i-1];
echo $arr[$i];
}
}
}
期望的结果:
Match:
(03) foo
(07) foo
Match:
(08) bar
(09) bar
问题 1:匹配重复行,同时忽略行首括号中的数字。我想打印括号中的数字。将它们规范化为“(??)”只是一种解决方法。问题 2:if( $arr[$i-1] == $arr[$i] )
: 这会检查上一行。但也要检查$arr[$i-2]
等$arr[$i-3]
。