Мой CSV-массив выглядит так (очень большой, поэтому я показываю только первые 2 элемента):
<?php $AuscompDataFeed_array = array (
0 =>
array (
'"Manufacturer ID"' => '"MAN-ID-GNRCABNW-02"',
'"LQ Price"' => '"1.90000000000000000000"',
'"AvailableQty"' => '"19.00000000000000000000"',
'"Net Weight"' => '"0.10000000000000000000"',
'"Item Category Code"' => '"GNR"',
'"Product Group Code"' => '"CAB"',
'"Minor Category 1"' => '"CAB-CAT5"',
'"Vendor Name"' => '""',
'"Warranty"' => '""',
'"Dimension"' => '""',
'"Description1"' => '"2mt Cat5e Cross Network Cable. Compatible to all network ports, desktops and notebooks. Uptp 1000Mbps network speeds."',
'"Image"' => '"https://redacted.com/uploads/image/GNR-CAB-NW-02-CRS.jpg"',
),
1 =>
array (
'"Manufacturer ID"' => '"K2A"',
'"LQ Price"' => '"10.00000000000000000000"',
'"AvailableQty"' => '"86.00000000000000000000"',
'"Net Weight"' => '"0.50000000000000000000"',
'"Item Category Code"' => '"ITR"',
'"Product Group Code"' => '"KBD"',
'"Minor Category 1"' => '"KBD-WIRED"',
'"Vendor Name"' => '""',
'"Warranty"' => '""',
'"Dimension"' => '""',
'"Description1"' => '"Itron K2A Keyboard, PS2 Beige"',
'"Image"' => '"https://redacted.com/uploads/image/ITR-KBD-K2A-WHT-PS2.jpg"',
),
Я попытался удалить самые простые одинарные кавычки из всех ключей и значений массива , так что двойные кавычки не будут литералами при анализе большинством программ обработки CSV, но это возвращает пустой массив, поэтому я, вероятно, допустил ошибку в своем регулярном выражении:
foreach ($left as $k => $v){
foreach ($v as $key => $value){
//strip $value of double quotes enclosing it
$value = preg_replace('/^\'/','',$value);
$value = preg_replace('/\'$/','',$value);
$left[$k][$key] = $value;
//strip $key of double quotes enclosing it
$newkey = preg_replace('/^\'/','',$key);
$newkey = preg_replace('/\'$/','',$key);
$left[$k][$newkey] = $left[$k][$key];
unset($left[$k][$key]);
}
}
Как я могу удалить только самые внешние одинарные кавычки. Во многих полях также есть одиночные кавычки в поле, поэтому я использовал ^
и $
для выделения интересующих одинарных кавычек.
Если вы считаете, что существует более эффективный / элегантный подход к проблеме , тогда альтернативный код также приемлем.