Cytat(nowotny)
zapodaj też wartości zmiennych $file i $find...
Z tym to będzie raczej problem bo to leci przez pętelkę

To jest fragment pliku:
<?php
#
#---------[ 4. OPEN ]---------------------------------------------------------
#
#
#---------[ 5. FIND (line: 176) ]---------------------------------------------
#
else
$tpl_temp .= "\n\t\t\t".'</ul>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>';
#
#---------[ 6. BEFORE, ADD ]--------------------------------------------------
#
// MOD: MARK TOPICS AS READ - 2 LINES NEW CODE FOLLOW
else if (basename($_SERVER['PHP_SELF']) == 'viewforum.php') $tpl_temp .= '</ul>'."\n\t\t\t".'<p class="conr"><a href="misc.php?action=markforumread&id='.$id.'">'.$lang_common['Mark forum as read'].'</a></p>'."\n\t\t\t".'<div class="clearer"></div>'."\n\t\t".'</div>';
#
#---------[ 7. OPEN ]---------------------------------------------------------
#
include/functions.php
?>
który parsuję wyrażeniami regualrnymi po kolei (numerkami), i każda "akcja" zostaje wykonywana. Wszystko działa dobrze dopóki w wykonywanym fragmencie (tylko FIND) nie znajdzie się więcej jak jedna linia (ale jak "wyechuje" fragment w <pre> to tekst zawiera i tabulatory i nowe linie).
edit: W powyższym przykładzie możliwe że te \n\t... też przeszkadzają, ale dalej jak nie ma \n\t też nie działa (tylko wtedy kiedy jest więcej niż jedna linia)
edit2: To wyrażenie regularne nie za każdym razem chce działać (na niektórych plikach działa a na niektórych nie):
<?php
preg_match("/#-*[.$i..([A-Z,s*/]*)..*].*s#s*(([^#].*\n)*)s*#/", $install, $section); $type = trim($section[1
]); $code = trim($section[2
]); ?>