将制表符分隔的文本转换为数组[重复]
Posted
技术标签:
【中文标题】将制表符分隔的文本转换为数组[重复]【英文标题】:Convert tab delimited text into an array [duplicate] 【发布时间】:2017-05-13 08:14:20 【问题描述】:我在文本区域中有一个制表符分隔的文本(字符串)。例如,用户只需将 SQL 查询的结果集与标题一起直接粘贴到此文本区域中。
读取此输入并将其转换为 php 或 javascript 中的数组的理想方法是什么。我最终想使用 json_encode 将其转换为 json。
帮助感激!
【问题讨论】:
***.com/questions/1792950/…google php convert tab delimited string to array
【参考方案1】:
这样的事情应该可以工作:
<?php
if ($_POST)
$data = trim($_POST['pastedData']);
$tabDelimitedLines = explode("\r\n", $data);
$myArray = Array();
foreach ($tabDelimitedLines as $lineIndex => $line)
$fields = explode("\t", $line);
foreach ($fields as $fieldIndex => $field)
if ($lineIndex == 0)
// assuming first line is header info
$headers[] = $field;
else
// put the other lines into an array
// in whatever format you want
$myArray[$lineIndex - 1][$headers[$fieldIndex]] = $field;
$json = json_encode($myArray);
echo "Associative Array in PHP:<br>";
echo "<pre>";
var_dump($myArray);
echo "</pre>";
echo "JSON:<br>";
echo $json;
echo "<br><br>";
?>
<html>
<form method="post">
<label>Paste some Tab Delimited Data with Headers:</label><br>
<textarea name="pastedData"></textarea><br><br>
<button type="submit">Submit</button>
</form>
</html>
【讨论】:
以上是关于将制表符分隔的文本转换为数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 LibreOffice 的 'scalc' 从命令行将制表符分隔的文本转换为 Excel