примерно сойдет, если вам кажется лучше. Лично я не вижу никакой разницы, что теперь эти страницы будут попадать не в 404 а в запрещенные к индексации. Вы бы луче разобрались где у вас прописана относительная ссылка, от чего получается такой урл.
У вас и так "чистый". Удалите RewriteRule ^archive/(.*).... и сам файл дора не забудьте удалить. Ну и шеллы и разную нечисть поискать
1) После парсинга
2) После конвертирования
3) Перед занесением
Ну что остается в таких случаях, кроме как читать документацию http://php.net/manual/ru/language.operators.execution.php
Я вам сказал что "сайтом в личку" дело не поможешь, да и отыскать ваш сайт только слепой не сможет. У вас перед вначале, перед досткайпом, подключается левый js скрипт и прописан он наверняка не в шаблоне. Ищите в исполняемых файлах, начиная с index.php. Не исключено что код закодирован. Хотите скинуть "сайт в личку" кидайте вместе с доступом к фтп, поищем.)
Жесть. Зачем вам "такое" читать, вы что кодер? Если нет, обращатесь к специалистам, или читайте многочисленные темы из этого раздела как можно найти вирус и удалить. Только избавится от вируса это пол беды, нужно еще закрыть дыры через которые он попадает на сайте.---------- Добавлено 16.01.2013 в 00:08 ----------
"Сайт в личку" тут ничего не даст.
'/([ ]| )([а-яa-z]{1,2}) ([а-яa-z])/i', '\\1\\2 \\3', $text
если есть проблемы с повторяющимся пробелами (два и более) [ ] заменить на [ ]+
Kel_Kimpbell, дайте примеров "висячих предлогов", а то чота не хочется на ночь глядя мозг напрягать)
Пишите....
Ну вообщем понятно почему, шаблон применяться к каждому найденному соответствию, а метасимволы * и ? еще и не задает конкретного условия - поэтому в конце строке будет добавятся еще один символ.
Хотите "одним регкапсом" юзайте - echo preg_replace('/(?:\pP+|(\p{^P}))$/', '$1.', 'dsfsdf,');