powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возможно ли распарсить массив?
20 сообщений из 20, страница 1 из 1
Возможно ли распарсить массив?
    #37833377
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, можно ли как-то парсить массив?
Дело в том что текст у меня состоит из блоков одинаковых практически, поэтому выпарсить нужный материал проблематично
Разбил на массивы блоки, но вот как распарсить массив я не знаю
Подскажите пожалуйста
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833385
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно все.

Догадайтесь сами, почему нельзя дать более конкретного ответа.
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833430
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.Dragon,

мало исходных данных?
глупый вопрос?
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833437
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
исходных данных вообще никаких. предполагается тестовый пример ))
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833438
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и разумеется по принципу:

1. есть
2. надо
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833443
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так получется: была строка, по какому-то приниципу выдрали из нее 10 подстрок, по какому-то другому принципу надо продолжить видирание из каждой из них. А где проблема?
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833450
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.Dragon,

проблема в последнем действии ) не знаю как


1)Есть
строка состоящая из 20 блоков текста типа {"id":"почти то, что нужно парсить (без html)","file_type":"<div class='file-icon archive'><\/div>","name":"<a href='\/то что нужно парсить.html' target='_blank'>Уникальный текст<\/a>","name_text"
То что нужно парсить и уникальный текст для каждого блока свой.
То что нужно парсить простым регвыром выпарсить не получилось, потому что например начинается регулярное выражение с <a href='\/ и если нужно выпарсить из блока по середины, то он берет все с самого начала, так как <a href='\/ встречается в самом начале
Поэтому я решил разбить эти блоки на части (массив)
Собственно говоря нужно
2)Как пропарсить каждый элемент массива
Пробовал foreach, у меня не сильно выходит :(

Надеюсь понятно )
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833474
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... Да, надо перебрать в цикле. Если не выходит - тренируйся. Почитай про циклы. Лучше for-ом обычным.

С регэкспами тоже можно подтянуть знания. Они не обязательно дожны захватывать начало первой ссылки и конец последней. Спокойно можно выпарсить все ссылки.
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37833573
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.Dragon,

да foreach не получается я пробовал там по всякому делать $var as $key => $value и просто $textblock as $value - он потом не парсит все равно, пишет что массив
а больше не знаю как, буду for пробовать
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834131
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gjiod,

т.е. вы упорно не хотите привести пример данных и желаемый результат, и надеетесь на помощь ?
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834329
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дубль 2

Вот кусок исходного кода
{"page":"1","records":479,"total":24,"userdata":"","rows":[{"id":"24yzlpnenmfr","file_type":"<div class='file-icon archive'><\/div>","name":"<a href='\/надо выпарсить1' target='_blank'>Какой-то текст<\/a>","name_text":"Какой-то текст","control":"<a href='#block-link'><img src='\/js\/lib\/grid\/icon\/link.png' class='link-file' title='ссылки на файлы'><\/a> <img src='\/js\/lib\/grid\/icon\/file-edit.png' class='edit-file' title='Редактировать'> <img src='\/js\/lib\/grid\/icon\/file-copy.png' class='copy-app-file' title='копировать'>","free_download":"Yes","tariff_id":null,"tariff_text":"Бесплатно","size":"588,44 Мб","created_date":"05 июн","delete_date":60,"download_count":"77","premium_count":"0","description":null,"tags":null,"folder_id":"0","can_be_copied":"Разрешено","delete_id":"4621F02BAEDF0BCB01E98EB673D7630A","special":"520","is_copy":0},{"id":"eiyfrlvri5oh","file_type":"<div class='file-icon archive'><\/div>","name":"<a href='\/надо выпарсить2' target='_blank'>Какой-то текст<\/a>","name_text":"Какой-то текст","control":"<a href='#block-link'><img src='\/js\/lib\/grid\/icon\/link.png' class='link-file' title='ссылки на файлы'><\/a> <img src='\/js\/lib\/grid\/icon\/file-edit.png' class='edit-file' title='Редактировать'> <img src='\/js\/lib\/grid\/icon\/file-copy.png' class='copy-app-file' title='копировать'>","free_download":"Yes","tariff_id":null,"tariff_text":"Бесплатно","size":"588,44 Мб","created_date":"05 июн","delete_date":57,"download_count":"1","premium_count":"0","description":null,"tags":null,"folder_id":"0","can_be_copied":"Разрешено","delete_id":"686C4ED22B031D23EFD935BAAF88EB2A","special":"36","is_copy":0}


Это несколько блоков текста. На самом деле их еще больше
Надо выпарсить то что красным, а то что зеленым - это всегда разный текст для каждого блока, и опираясь на него и надо парсить (он известен заранее)
Но проблем в том, что если например я парсю надо выпарсить2, и пишу регулярное выражение, которое начинается с <a href='\/, то т.к. это <a href='\/ встречается в самом начале, он берет весь код с самого начала
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834331
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gjiod,

Похоже, ограничителями являются последовательность "name":"<a href=' и ближайшая за ней одинарная кавычка.
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834336
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

ну если я Вас верно понял, то с этого регулярное выражение начать можно, но вот оно же везде повторяется и возмется все с самого начала
Или как-то пропарсить массив а я не знаю как, через foreach не получается
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834348
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gjiod,

Возьмется то, что в скобках обозначено, между ограничителями поиска. Ну и жадность надо проинвертировать.
По поводу массива, сомневаюсь что он вообще нужен. Если исходный текст не мегабайтами измеряется, то можно за раз выцепить все что надо.
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834351
авторПоэтому я решил разбить эти блоки на части (массив)
http://www.php.net/manual/en/function.json-decode.php

Код: php
1.
2.
3.
4.
5.
forach($json_arr['rows'] as $row) {
   if($row['name_text'] === 'val or not') {
         $row['name'] //то что нужно парсить!!!
   }
}
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834354
авторforach
foreach - конечно!
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834385
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как то так...,
А что значит параметры в скобках? типа ['rows'] или ['name']
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834421
гыгы...
http://www.php.net/manual/en/function.json-decode.php
Код: php
1.
var_dump(json_decode(переменная с твоей строкой!!!, true));
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834435
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GjiodА что значит параметры в скобках? типа ['rows'] или ['name']Вы считаете что Вам тут будут объяснять основы синтаксиса?
...
Рейтинг: 0 / 0
Возможно ли распарсить массив?
    #37834440
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...гыгы...
http://www.php.net/manual/en/function.json-decode.php
Код: php
1.
var_dump(json_decode(переменная с твоей строкой!!!, true));


Вернее будет "по-крутому" сказать: десериализовать данные из JSON. :)
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Возможно ли распарсить массив?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]