34868 Poprawka do parsera

Ukończone Opublikowano Sep 24, 2009 Płatność przy odbiorze
Ukończone Płatność przy odbiorze

Mam przygotowany prosty parser XML, który ze względu na to, że sam plik XML jest dość pory i praca na nim obciąża serwerz, wrzuca mi dane do MySQLa.

Struktura XMLa wygląda tak: [url removed, login to view]

Pobieram dane z XMLa do zmiennej i wyciągam tak:

preg_match_all(\"#<id>(.*)</id>#mU\", $produkty, $id);

preg_match_all(\"#<title>(.*)</title>#mU\", $produkty, $tytul);

preg_match_all(\"#<url>(.*)</url>#mU\", $produkty, $url);

itd.

Tak wyciągnięte dane wrzucam do bazy w pętli:

for($i=0;$i<count($title[1]);$i++)

Problem pojawia się przy wyciąganiu ID ponieważ w strukturze jako ID widnieje ID pliku (na samej górze) i kategorii (pomiędzy <category_refs>).

Chodzi mi o takie przerobienie wyrażeń, aby w innej zmiennej wyciągane było id z <id> </id>, a w innej id będące pomiędzy <category_refs> </category_refs>. Przy czym jeśli pomiędzy tym ostatnim będzie więcej niż jedno ID (jak w przykładowym pliku .txt na rapidshare) muszą być one przekazywane w jednej zmiennej, jako oddzilone przecinkiem.

Poprawka nr 2:

Adresy pomiędzy <url> </url> zapisywane są jako [url removed, login to view] Chciałbym, aby po wyciągnięciu do zmiennej końcówka adresu zamieniana była z \".xml\" na \".xml?skad=rss\"

CSS Projekty graficzne HTML PHP Projektowanie stron www

Numer ID Projektu: #5609797

O projekcie

1 oferta Zdalny projekt Aktywny Sep 26, 2009

Przyznany użytkownikowi:

zegarek84

A proposal has not yet been provided

zł15 PLN w 1 dzień
(2 ocen)
0.5