You are here

private static function EasychartUpdate::findCSVDelimiter in Easychart 8.3

Helper function to find the delimiter in a csv file.

Parameters

string $data: A collection of data.

Return value

string $delimiter. The delimiter.

1 call to EasychartUpdate::findCSVDelimiter()
EasychartUpdate::updateCSVFromUrl in src/EasychartUpdate.php
Update the csv data from the url stored in the database.

File

src/EasychartUpdate.php, line 97
Contains \Drupal\easychart\EasychartUpdate

Class

EasychartUpdate

Namespace

Drupal\easychart

Code

private static function findCSVDelimiter($data) {

  // Possible delimiters.
  $delimiters = array(
    'tab' => "\t",
    'comma' => ",",
    'semicolon' => ";",
  );

  // Count how much a possible delimiter appears.
  $delimiters_found = array();
  foreach ($delimiters as $key => $value) {
    $delimiters_found[$key] = count(explode($value, $data)) - 1;
  }

  // Get the highest appearance score.
  arsort($delimiters_found);
  reset($delimiters_found);
  $delimiter = key($delimiters_found);
  return $delimiters[$delimiter];
}