![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry. Mam problem z dostosowaniem funkcji preg_match.
Kod <a class="end" href="/events?ga_type=events&ga_search=home&q=home&sort_order=Event&page_number=1995">1995</a> Potrzebuję generalnie tylko samą wartość 1995 umieszczoną pomiędzy znacznikami. Stała jest tylko cześć: Kod <a class="end" href="...............................................................">liczba</a> Mógłby ktoś mi pomóc jaki wzor tu zastosowac? Ten post edytował blackroger 16.11.2008, 18:34:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 3 Dołączył: 7.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
preg_match('|<a class="end" href=".+">(.+)</a>|U',
powinno dzialac |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki. Działa... tylko jakbyś mógł jeszcze opowiedzieć o tym U na końcu, bo nigdzie nie mogę znaleźć. I jeszcze pytanie jak szukać wzorca ale tylko do pierwszej spacji np. <cosc>cos cos2</cos> tak żeby wzięło tylko cos. Z góry dzięki.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Wielkie dzięki. Działa... tylko jakbyś mógł jeszcze opowiedzieć o tym U na końcu, bo nigdzie nie mogę znaleźć. http://www.php.net/reference.pcre.pattern.modifiers -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 2 Dołączył: 3.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
I jeszcze pytanie jak szukać wzorca ale tylko do pierwszej spacji np. <cosc>cos cos2</cos> tak żeby wzięło tylko cos. Z góry dzięki. na moje oko coś takiego:
Ten post edytował johnson 17.11.2008, 11:42:50 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za odpowiedzi. Mam jeszcze pytanie, gdyż nie mogę znaleźć odpowiedzi na dręczące pytanie. Niektórzy stosują znaki |, a niektórzy / na początku i na końcu wyrażenia...Czy m to się różni...Wiem że "|" to alternatywa ale co to ma tutaj do rzeczy?
Ten post edytował blackroger 18.11.2008, 22:38:00 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Oddzielają one wyrażenie od modyfikatorów.
Ja na przykład stosuję hashe (#). ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam jeszcze jedno pytanie i jak ktoś znałby odpowiedź to byłbym wdzięczny.
Problem jest mianowicie taki: Mam źródło :
Moim celem jest wyciągnięcie (na przykładzie pierwszej klasy a w późniejszej fazie następnych, bo jet podobna struktura):
Próbowałem już chyba wszystkiego... Najpierw starałem się wyodrębnić chociaż całą tą sekcję kodu używając
ale nie wyświetla nic, później dodałem "is" na końcu i wyświetlało od <tr class="first "> az do ostatniego </tr> w całym dokumencie. Moim zdaniem problem leży w białych znakach i nowych liniach w źródle, tylko nie wiem jak się go pozbyć. Wiem że trzeba ułożyć właściwy wzorzec ale w dokumentacji funkcji nie ma za wiele o takich przypadkach. Gdyby ktoś chciałby mi pomóc lub znaleźć inne rozwiązanie to czekam. Próbowałem użyć fopen i jak wiadomo zadziałał ale to nie jest chyba za efektywny parser a informacji jest tam sporo. Źródło jest mniej więcej w takiej postaci jak przedstawiłem (spacje, białe znaki, nowe lini itd) Dzięki z góry za odpowiedź. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 2 Dołączył: 3.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
W tym przykładzie wyodrębnia wszystko co jest między <tr class="first "> a </tr>, czyli całą klasę first. Tak naprawdę nie wiem co chcesz uzyskać z tego ciągu, czy linki czy może coś innego?
|sU oznacza w skrócie s - kropka oznacza wszystkie znaki wraz ze znakiem nowej linii (bez tego kropka oznacza wszystkie znaki z wykluczeniem znaku nowej linii) U - wyrażenie regularne nie jest zachłanne czyli szuka do pierwszego wystąpienia </tr> mam nadzieję, że o to chodziło Ten post edytował johnson 19.11.2008, 17:14:00 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki...brakowało mi tego "U". Tak, chcę z każdej klasy pobierać link, tak jak napisałem wcześniej, zastanawiam się tylko teraz, jak ja będę odróżniał konkretne klasy (są takie same, ta sama nazwa class=" "). Bo generalnie chodzi o to że muszę z każdej klasy wyłuskać link, następnie wejść na ten link i coś znaleźć. Później przechodzę do następnej klasy wyszukuje link i to samo, a klasy tak samo się nazywają za wyjątkiem pierwszej i ostatniej.
Ten post edytował blackroger 19.11.2008, 21:13:08 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 2 Dołączył: 3.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze by było jakbyś napisał od początku do końca o co w tym wszystkim chodzi, bo na razie robimy jakieś pojedyncze rzeczy, a tak naprawdę nie wiemy do czego to prowadzi i co ma robić.
Ten post edytował johnson 20.11.2008, 17:00:51 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.06.2025 - 05:13 |