Как preg_replace \ & quot; с \ & quot; & quot; при сохранении в CSV-файл с использованием fputcsv

Я пытаюсь сделать preg_replace в php и сохранить результаты в CSV-файле.
Я хочу заменить \ «в строке на \» «, и в данный момент я могу найти ближайший \» «.

Проблема в том, что fputcsv автоматически добавляет двойную кавычку к существующей двойной кавычке, что хорошо, APART FROM, если двойная кавычка уже экранирована

Вот пример кода:

$code = 'document.body.innerHTML.toLowerCase().replace(/\s|\"/g, "");';
$pattern = '(\\\")';
$replacement = '\\\ "';
$content[] = preg_replace($pattern, $replacement, $code);
$filename = "test.csv";
$temp_filename = "tempfile";
$fp = fopen($tempfilename, 'w');
fputcsv($fp, $content);
fclose($fp);

В полученном CSV-файле ячейка показывает \ «», как показано ниже:

"document.body.innerHTML.toLowerCase().replace(/\s|\ ""|/g, """");"

Так что это почти правильно, но это должно быть \ «» а не \ «»

Может кто-нибудь помочь мне написать правильную переменную $ replace, чтобы она выводила \ «» в csv?

Я пробовал:

$replacement = '\\\""'; which produces \"""$replacement = '\\\"'; which produces \"

Так что \ «» ускользает от меня

Большое спасибо, если вы можете помочь!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …