Удалить цитаты из файла экспорта в PHP - PullRequest
0 голосов
/ 02 февраля 2020

Я выполнял некоторые настройки для кода экспорта отчетов Twilio. Я застрял на том, как удалить кавычки в тексте, который появляется в строке "тело". Я попытался str_replace ('"', '', $ sms) -> body, и addlashes ($ sms) -> body, но я делаю что-то не так. Не могли бы вы помочь мне найти решение для удаления всех кавычек из тела? Полный код ниже:

<?php
/**
* Download the library from: https://github.com/twilio/twilio-php
* Copy the 'Twilio' folder into a directory containing this file.
*/

require __DIR__ . '/Twilio/autoload.php';

use Twilio\Rest\Client;

/* Your Twilio account sid and auth token */
$account_sid = "hidden";
$auth_token = "hidden";

/* Download data from Twilio API */
$client = new Client($account_sid, $auth_token);
$messages = $client->messages->stream(
  array(
  'dateSentAfter' => '2020-01-01',
  'dateSentBefore' => '2020-02-01'
  )
);

/* Browser magic */
$filename = $account_sid."_sms.csv";
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename={$filename}");

/* Write headers */
$fields = array( 'From', 'To', 'Body', 'Status', 'Date Sent', 'SMS Message SID' );
echo '"'.implode('","', $fields).'"'."\n";

/* Write rows */
foreach ($messages as $sms) {
  $row = array(
    $sms->from,
    $sms->to,
    $sms->body,
    $sms->status,
    $sms->dateSent->format('Y-m-d H:i:s \G\M\T'),
    $sms->sid
  );

  echo '"'.implode('","', $row).'"'."\n";
}

1 Ответ

1 голос
/ 02 февраля 2020

Не пишите свои собственные сериализаторы, у тех, которые уже существуют, есть логика c для уже встроенного выхода, охватывают все дела и правильно покрывают их .

https://www.php.net/manual/en/function.fputcsv.php

"Но я не пишу в файл!" Да Вы. Все это файл.

Замените ваш эхо на:

fputcsv(STDOUT, $row);
...