コード例 #1
0
ファイル: ParserCSV.php プロジェクト: bordercloud/sparql
 function csv_to_array($csv, $delimiter = ',', $enclosure = '\'', $escape = '\\', $terminator = "\n")
 {
     $r = array();
     //$string = utf8_encode($csv);
     //echo mb_detect_encoding($names);
     //echo $csv;
     $rows = explode($terminator, trim($csv));
     $names = array_shift($rows);
     $names = str_getcsv($names, $delimiter, $enclosure, $escape);
     $nc = count($names);
     foreach ($rows as $row) {
         if (trim($row)) {
             $values = str_getcsv($row, $delimiter, $enclosure, $escape);
             if (!$values) {
                 $values = array_fill(0, $nc, null);
             }
             $tabTemp = array();
             //array_combine($names,$values);
             foreach ($names as $key => $nameCol) {
                 if (isset($values[$key])) {
                     $value = $values[$key];
                     if (ToolsConvert::isTrueFloat($value)) {
                         $value = floatval($value);
                     } elseif (is_int($value)) {
                         $value = intval($value);
                     }
                     $tabTemp[$nameCol] = $value;
                 } else {
                     $tabTemp[$nameCol] = NULL;
                 }
             }
             $r[] = $tabTemp;
         }
     }
     return $r;
 }
コード例 #2
0
ファイル: ParserTurtle.php プロジェクト: bordercloud/sparql
 static function relativeToExplicitURI($uri, $prefix)
 {
     $result = $uri;
     if (preg_match("/^(\"(?:\\\"|[^\"])*\"|'(?:\\'|[^'])*')(?:\\^\\^([^\\s]*))?\$/i", $uri, $matches)) {
         //<>
         if (isset($matches[2])) {
             $type = ParserTurtle::relativeToExplicitURI($matches[2], $prefix);
             $value = $matches[1];
             if ($type == "http://www.w3.org/2001/XMLSchema#double" || $type == "http://www.w3.org/2001/XMLSchema#decimal") {
                 $value = floatval($value);
             } elseif ($type == "http://www.w3.org/2001/XMLSchema#integer") {
                 $value = intval($value);
                 //}elseif($type == "http://www.w3.org/2001/XMLSchema#boolean"){
                 //	$value = $value === "true" ? true : false;
             }
             $result = "\"" . $value . "\"^^" . $type;
         } else {
             $value = $matches[1];
             if (ToolsConvert::isTrueFloat($value)) {
                 $value = floatval($value);
             } elseif (is_int($value)) {
                 $value = intval($value);
             }
             $result = $value;
         }
     } elseif (preg_match("/^<>\$/i", $uri, $matches)) {
         //<>
         $result = "<" . $prefix["base"] . ">";
     } elseif (preg_match("/^<#([^:]+)>\$/i", $uri, $matches)) {
         //<#truc>
         $result = "<" . $prefix["base"] . $matches[1] . ">";
     } elseif (preg_match("/^<([^:]+)>\$/i", $uri, $matches)) {
         //<truc>
         $len = strlen($prefix["base"]);
         $prefixbase = substr($prefix["base"], 0, strrpos($prefix["base"], "/"));
         $result = "<" . $prefixbase . $matches[1] . ">";
     } elseif (preg_match("/^:([^\\s]*)\$/i", $uri, $matches)) {
         //:truc
         $result = "<" . $prefix["empty"] . $matches[1] . ">";
     } elseif (preg_match("/^([^:_]*):([^><]*)\$/i", $uri, $matches)) {
         //x:truc
         $result = "<" . $prefix[$matches[1]] . $matches[2] . ">";
     } else {
         $value = $uri;
         if (ToolsConvert::isTrueFloat($value)) {
             $value = floatval($value);
         } elseif (is_int($value)) {
             $value = intval($value);
         }
         $result = $value;
     }
     return $result;
 }