PHP preg_replace - использование [ ] генерирует предупреждения

Может кто-нибудь помочь мне со следующим

$file = preg_replace("/([^\\])([\\])([^\\rnt])/", "$1$2$2$3", $file);

Когда я запускаю это, я получаю следующее предупреждение: "Предупреждение: preg_replace(): Компиляция не удалась: отсутствует завершение]"

Я хочу заменить в строке все одинарные \ на двойные \, если после него нет ни rn, ни t. так что \ r \ n \ t должно остаться, как они есть. \ также должен оставаться как есть, но xx\2 должен стать xx\2

пример строки: "lorem ips\um do\\lor s\it amet \r \n 34\3" должен стать "lorem ips\\um do\\lor s\\it amet \r \n 34\\3"

Спасибо заранее

1 ответ

Замените двойные кавычки на одинарные:

$file = preg_replace('/([^\\])([\\])([^\\rnt])/', "$1$2$2$3", $file);
Другие вопросы по тегам