Hi Jochem, Replacing the 's' modifier with 'm' fixed it this instance but broke other parts on the site (the same result as removing 's'). But the other regex ( $pattern = "/<!T_([^> ]+)([^>]*)>(.*?)<!T_end\\1>|<!T_([^> ]+)([^>]*)>/Ui";) is working perfectly. I will continue to test and see if it throws up any other problems. Many thanks for such a quick and great response. I will file a bug report however I may need to submit the full test string as cutting it down any further seems to 'fix' the discrepency. Thanks again, Ewen 2008/9/12 Jochem Maas <jochem@xxxxxxxxxxxxx> > Jochem Maas schreef: > >> Ewen Cumming schreef: >> >>> Hi everybody, >>> >>> >> ... > > >> BUT I may have work around for you, try this regexp (replaces s modifer >> with m modifier): >> >> $pattern = "/<!T_([^> ]+)([^>]*)>(.*?)<!T_end\\1>|<!T_([^> >> ]+)([^>]*)>/mi"; >> >> > the following pattern also seems to do what you want: > > $pattern = "/<!T_([^> ]+)([^>]*)>(.*?)<!T_end\\1>|<!T_([^> ]+)([^>]*)>/Ui"; > > > Im interested to know if either of these two solve your immediate issue. >