Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenia Regularne problem
Forum PHP.pl > Forum > Przedszkole
krzychu0808
Witam...
Od jakiegoś czasu bawię się w CURL i dzięki preg_match + wyrażenia regularne wyciągam sobie potrzebną treść i wszystko było fajnie aż do czasu gdy dostałem taką treść:
Kod
{"success":1,"bar":"70.843,18 ft","points":"10223043","coins":"10","level":"Posiadacz ko\u017cucha","levelnum":"20","levellimit":10590000,"mail":1,"contracts":0,"lng_con":"Umowy","lng_mail":"2 Nowe wiadomo\u015bci","time":1345283221,"guildname":"","guildlevel":"","localtime":"2012, 8, 18, 11, 47, 01"}

I chcę wyciągnąć dane "level" i "levelnum" tylko problem jest w tym że w "level":"Posiadacz ko\u017cucha" jest znak \ którego nie wiem jak ominąć próbowałem różnych cudów ([\S])+,([\w\\])+
Napisałem coś takiego:
  1. $page = file_get_contents('test.txt');
  2. preg_match('|"level":"([\S])+","levelnum":"([\d]+)"|',$page,$dane_user);
  3. echo $dane_user[1].'<br/>';
  4. echo $dane_user[2].'<br/>';

test.txt to jest to co wrzuciłem wyżej.
Jeżeli zostawię samo "levelnum":"([\d]+)" to wszystko śmiga tylko z tym level się psuje wszystko.
wNogachSpisz
Przecież to JSON. Użyj json_decode()
krzychu0808
O fajnie działa ten JSON,w tym przykładzie akurat ale nieraz jak pobieram treść całej strony i jest np ...<p>20\100</p>... to też mam problem to wyciągnąć a tutaj JSON już nie pomoże.
wNogachSpisz
Pomoże natomiast parsowanie HTML'a:
http://stackoverflow.com/questions/3577641...s-html-with-php
krzychu0808
Wielkie dzięki za pomoc. Wybrałem PHP Simple HTML DOM Parser i sprawdza się na moje potrzeby. Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.