Сам код выглядит в данном случае бесполезным, но он нужен для дальнейшего парсинга файла (файл - 3D модель в формате .x3d). Никак не могу понять почему массив пуст, тогда как совпадения вроде находятся (с увеличением количества блоков <shape>...</shape> увеличивается количество элементов массива, но они все равно пусты). Буду очень признателен толковому совету, к сожалению парсер раньше писать не доводилось, потому прошу о помощи.
Panoptik
Отправлено: 22 Января, 2014 - 15:44:08
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
а вы не смотрите в браузер а в исходный код страницы
----- Just do it
drfreud
Отправлено: 22 Января, 2014 - 15:52:45
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
Спасибо!))) Как бы это сказать, мое невежество не знает границ!))) Но будем заполнять пробелы.
В исходном коде страницы:
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
peters
так будет ошибка
peters пишет:
print_r(htmlspecialchars($outpArr));
htmlspecialchars должна принимать строку а получит массив. нужно доп обработка чтобы вывести такой результат как вы думали, ну впрочем это всего лишь форматирование вывода. результат то он лежит в переменной и с ним уже ТС пускай делает что вздумается
Покинул форум
Сообщений всего: 6
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
Спасибо! Теперь ясно хоть в чем косяк состоял. Вообще данный код родился после мучений с функцией preg_replace. В общем виде задача заключается в следующем:
в данном куске кода видно, что есть 2 блока shape'ов, но в одном есть координаты, а в другом их нет, суть в том, чтобы убрать из кода все блоки shape без координат, просто заменить их пустой строкой. Но поскольку как я уже писал здесь, я ранее практически не сталкивался с парсингом и регулярками, то написать это в одну строку у меня не вышло и я решил сначала разбить файл на shape'ы, а затем уже в каждом отдельно искать "пустые" и удалять их из массива. В данном случае искать по наличию сочетания USE= поскольку ссылки на координаты есть только в пустых блоках. Если сообщество предложит вариант решения данной задачи в одну строку буду очень признателен, ну и может просто кого-то заинтересует решение.
Мелкий
Отправлено: 22 Января, 2014 - 18:02:32
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
drfreud пишет:
в данном куске кода видно
... что это XML и потому парсить его регулярками - глупость.
Используйте simplexml.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.