Добрый день подскажите как составить регулярку чтобы между кавычками удалить(а лучше не удалять а заменить на ', ') переносы строк пример: Код (Text): 1 \t "123\r\n321" \r\n 2 \t "654\r\n" \r\n 3 \t "987\r\n789" \r\n \t - таб --- Добавлено --- что сделал сам: "(.*?)[\r\n](.*?)" но такая конструкция выбирает не верно не то что между кавычками, а просто что либо между любыми кавычками
PHP: echo preg_replace('/(?<=")([^"]+)?(\r\n)([^"]+)?(?=")/s', '$1,$3', $str); Тут есть маленький минус. Например, для второй строки, получиться результат "654,". Т.е. запятая как бы не в тему. Можно взять второй бубен в руки и сделать так: PHP: echo preg_replace_callback('/("[^"]*")|[^"]*/', function ($m) { if(preg_match('/^".+"$/s', $m[0])) { return '"' . implode(',',preg_split('/(\r\n)/', trim($m[0],'"'), -1, PREG_SPLIT_NO_EMPTY)) . '"'; } else { return $m[0]; } }, $str); Тут результат более качественный