- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, уважаемые форумчане! Помогите решить следующую проблему.
Есть исходный текст в файле:
Необходимо перегнать данную информацию в базу данных. Пробовал парсеры XML, ничего хорошего не вышло. Парсеры в массив генерируют очень сложную конструкцию с которой непросто разобраться. Может посоветуете парсер XML, который бы представил информацию в понятном виде? С учетом вложенности.
Вариант №2: пробую распарсить данный код с помощью preg_replace:
$r=fopen("price.xml", "r");
$text=fread($r, filesize("price.xml"));
fclose($r);
$text=str_replace('<?xml version="1.0" encoding="windows-1251"?>', '', $text);
$text=str_replace('/>', '>', $text);
print preg_replace("/<Nomen Name=\"(.*?)\" Code=\"([0-9]*)\" IsGroupe=\"([0-9])\" Pic=\"(.*?)\">/", "1: $1~$2~$3~$4<br>", $text);
Получается примерно вот что:
Т.е. когда вхождения по моему шаблону заканчиваются вся строка до следующего вхождения попадает под шаблон..
Подскажите, пожалуйста, правильный код.
Необходимо чтобы получилось в итоге примерно так:
Буду признателен за Вашу помощь!
print preg_replace("/<Nomen Name=\"([^"]*?)\" Code=\"([0-9]*)\" IsGroupe=\"([0-9])\" Pic=\"([^"]*?)\">/", "1: $1~$2~$3~$4<br>", $text);
попробуйте так
jumash добавил 05.08.2009 в 17:29
или
print preg_replace("/<Nomen Name=\"(.*?)\" Code=\"([0-9]*)\" IsGroupe=\"([0-9])\" Pic=\"(.*?)\">/U", "1: $1~$2~$3~$4<br>", $text);
почему бы не использовать для работы с хмл средства для работы с хмл?
php.net/simplexml_load_string
engh, почем не решить проблему самым простым способом. Возьмите это, сохраните в XML файл и откройте его в Excel. Все открывается очень красиво. Потом длелайте с ним что хотите.