Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Belohalatny пишет:
Ваш код выполнил одно действие.
Что находится в переменной $AUyears[0][0][1] массив нужно передавать весь, а не только его одно значение.
Если весь массив содержится в переменной $AUyears, то и нужно передавать эту переменную. Код должен был выглядеть так:
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Okula пишет:
Belohalatny пишет:
Ваш код выполнил одно действие.
Что находится в переменной $AUyears[0][0][1] массив нужно передавать весь, а не только его одно значение.
Если весь массив содержится в переменной $AUyears, то и нужно передавать эту переменную. Код должен был выглядеть так:
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
А уверены что регулярка составлена правильно? Ваше регулярное выражение будет работать только на 1-ой строке (первой). Для того чтобы она искала совпадения по шаблону во всём тексте нужно поставить модификатор s
Тегулярка должна быть такой:
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
Belohalatny пишет:
$$inArrUrl[$key] = multiLoad($item,$prox,$site);
двойной знак доллара в начале должен быть, или Вы опечатались просто?
очепятка, должен быть 1
возвращает вообще пустой массив или
много уровневый но пустой??
если многоуровневый но пустой
то это значит не сработала регулярка
Belohalatny
Отправлено: 15 Декабря, 2011 - 21:03:05
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Как то так получается, что мы вроде друг друга не понимаем...
Ваш код выполнился ровно 38 раз, ровно столько ключей в массиве $AUyears[0-37], "вглубь" данного массива Ваш код не заходит и не вытаскивает ссылки, которые находятся, например в ключах $AUyears[0][0][1][0...100], $AUyears[3][0][1][0...87], $AUyears[28][0][1][0...3] и так далее... То, что вывел мне браузер при работе Вашего кода:
это правильные ссылки, что получится в выходном массиве, сейчас проверю. (Добавление)
С модификатором i не сработало, никакого массива не создалось вообще, и ошибок тоже нету и с модификатором s тоже самое. Может, всё таки, в функции ошибка?
Okula
Отправлено: 15 Декабря, 2011 - 21:39:44
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Belohalatny, ты противоречишь сам себе. Твоя регулярка не будет работать дальше первой троки без модификатора s, если конечно код со страницы которую ты парсишь не в одну строку написан.
Интерфейс RecursiveArrayIterator позволяет просматривать массивы любой вложенности. Для примера можешь тестануть вот этот код:
теперь собственно сам вопрос: как эти две регулярки скрестить в одну, чтобы она записывала сразу всё в один массив? Знаю что модификатор "|" означает "или" и оба регулярных выражения надо поместить в скобки, а вот как записать модификатор "и"- не знаю...
DlTA
Отправлено: 16 Декабря, 2011 - 13:27:57
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
хрень какая то
а если напишут не "Местный рынок" что то другое, придется исправлять весь код?
у вас есть шаблон
/\|\s*<a href="(.+?)">([^<]+)</a> <strong>([^<]+)</strong>\s*\|/i
вот по такому шаблону и находите все подобные варианты
Belohalatny пишет:
как эти две регулярки скрестить в одну, чтобы она записывала сразу всё в один массив?
а уверены что нужно именно это?, так как результат работы регулярок не всегда соответствует нужному формату массива (раздует до беспредела)
может есть смысл пересмотреть логику?
надо попробывать такую регулярку, так что выше немного не подходит
/\|\s*<a\s+href="(.+?)">(.+?)</a>\s*<strong>(.+?)</strong>\s*\|/i
Belohalatny
Отправлено: 16 Декабря, 2011 - 13:57:09
Гость
Покинул форум
Сообщений всего: 84
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Сейчас есть функция, написанная Вами, ничего в ней не менял.
function partcategory($inArrUrl,$prox,$site){// Функция прогоняет массив из ссылок на группы деталей и загоняет значения, выдранные регуляркой из каждой пройденной ссылки в новый массив.
Хотелось бы, чтобы полученные массивы группировались по принципу [пройденная_ссылка] => [значения_с_пройденной ссылки]. Сейчас в массивах творится полный хаос, так как они уже получаются огромные и работать с ними становится просто невозможно...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.