34868 Poprawka do parsera
minimalnie zł10 PLN
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\"
Numer ID Projektu: #5609797