У меня есть текстовый файл с большим количеством данных. Я добрался до извлечения имен полей между символьными утверждениями.Поиск повторяющейся строки в файле TEXT с использованием PHP
Что бы я хотел, чтобы мой код выполнял, сканируйте ENTRE текстовый файл. по какой-то причине он останавливается с первым вхождением символов/строки.
<?PHP
//First, open the file. Change your filename
$file = "datafile1.txt";
$handle = fopen($file, "r");
$contents = fread($handle, filesize($file));
for ($i=0; $i=100; $i+10){
$word1='"cat_id';
$word2='"category"';
$a = strpos($contents, $word1);
$b = strpos($contents, $word2);
$between=substr($contents, $a, ($b - $a));
echo $between;
//////////////////////////////////
$word1='"category';
$word2='"name"';
$c = strpos($contents, $word1);
$d = strpos($contents, $word2);
$between=substr($contents, $c, ($d - $c));
echo $between;
////////////////////////////////////
$word1='"name';
$word2='"description"';
$e = strpos($contents, $word1);
$f = strpos($contents, $word2);
$between=substr($contents, $e, ($f - $e));
echo $between;
}
fclose($handle);
?>
Я получил возврат
"cat_id": "16349", "категория": "Приключение", "имя": "Убийцы IV Black Flag - Xbox 360",
но он останавливается там, где повторяются cat_id и категории, а также имена ... ну, компьютерные игры.
Мне нужно отсканировать весь текстовый файл, чтобы поиск повторялся, надеюсь, получить список из результатов игр и категорий.
* Редактировать: Sorry. вот образец файла данных, который нуждается в синтаксическом анализе.
"cat_id": "16349",
"category": "Adventure",
"name": "Assassin's Creed IV Black Flag - Xbox 360",
"description": "It is 1715. Pirates rule the Caribbean and have es... (visit site URLs for full description)",
"updated_at": 1419672679,
"width": "139.70",
"sem3_id": "1AEIvknN7uwqG2GcwSCMK8",
"created_at": 1374830955,
"platform": "Xbox 360",
"height": "12.70",
"length": "190.50",
"sitedetails": [
{
"sku": "B00BMFIXT2",
"latestoffers": [
{
"seller": "JNJ Shop",
"lastrecorded_at": 1419672600,
"currency": "USD",
"firstrecorded_at": 1419672600,
"id": "7g2fpY7BOSE0sU2oKkUkeY",
"price": "11.00",
"shipping": "3.99",
"condition": "New"
},
200 lines later.....
"cat_id": "20923",
"category": "Games",
"name": "Disney Infinity Starter Pack - PlayStation 3",
"description": "Product Description Platform: PlayStation 3 | Edit... (visit site URLs for full description)",
"updated_at": 1419563879,
"width": "269.24",
"created_at": 1375817329,
"sem3_id": "0FIqEyeRf4SMgiYaoKC6yO",
"platform": "PlayStation 3",
"height": "90.93",
"length": "358.39",
"sitedetails": [
{
"sku": "7635065",
"latestoffers": [
{
"seller": "BestBuy",
"lastrecorded_at": 1419552600,
"firstrecorded_at": 1419015000,
"currency": "USD",
"availability": "In stock",
"price": "66.98",
"id": "5EefaVFIhs2UKYA0Q0qIae",
"condition": "New"
},
ли записи в текстовом файле разделены каким-то образом (с новой строки, к примеру)? Не могли бы вы скопировать/вставить часть текстового файла? – sinisake