Не совсем регулярка, но работает достаточно быстро:
| Код | //строчка для временной замены $stupid="gtrujk";
//"спасаем" все тэги preg_match_all ("/<.*>/Usi", $body, $out2);
//подменяем их заменителем $body=preg_replace ('/<.*>/Usi', $stupid, $body);
//подсвечиваем результаты поиска $body=str_ireplace ($seekres, '<span class="seekres">'.$seekres.'</span>', $body);
//"пробегаемся" по подменённым тэгам и восстанавливаем их $heck=0; for ($i=0; $i<count ($out2 [0]); $i++) { $heck=strpos ($body, $stupid, $heck); $body=substr ($body, 0, $heck).$out2 [0] [$i].substr ($body, $heck+strlen ($stupid)); }
|
Этот же скорипт можно использовать для "сложных" обработок отдельных фрагментов текста - вытащить эти фрагменты, пропустить через любое количество обработчиков, и "загнать" обратно - на свои места. |