![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 18.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jak z poniższego kodu za pomocą preg_match wyciągnąć liczbę znajdującą się w znacznikach <b></b>, we fragmencie "Znaleziono <b>XXXX</b> pasujących odnośników<br>", zaznaczę tylko że wklejony przezemnie kod to tylko niewielki fragment całości, więc wyciągnięcie bezpośrednio z <b></b> odpada i trzeba się oprzeć na jakimś dłuższym fragmencie, kombinuję, kombinuję ale nic mi z tego nie wychodzi, czy ktoś pomoże?
Kod <div style="padding: 10px;">
<div> <form> szukana fraza: <input style="width: 300px;" name="q" value="t"><input value="szukaj" type="submit"> <input name="c" value="film" checked="on" type="checkbox">tylko tytułu filmu </form> Znaleziono <b>1753</b> pasujących odnośników<br> </div> <div style="margin-bottom: 10px;"> </div> <div style="padding-top: 10px;"> <hr> </div> <div class="cl"></div> <ul style="display: block; width: 700px; margin-left: 15px;" id="searchFixCheck"> <li style="padding: 5px;" class="gr5"> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował pyro 18.01.2009, 22:09:05 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 18.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Po małej przeróbce działa tak jak chciałem, jeszcze muszę przeanalizować dlaczego mi się nie udało, dzięki
Ten post edytował XnIcRaM 19.01.2009, 15:47:47 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po małej przeróbce działa tak jak chciałem, jeszcze muszę przeanalizować dlaczego mi się nie udało, dzięki
To Ci napewno nie będzie działać ![]() -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 18.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
To Ci napewno nie będzie działać ![]() e działa, tylko nie wiem czemu tutaj podwójnie wstawiło mi się || ![]() To może spróbuję jeszcze raz poprosić o pomoc z preg_match, a mianowicie jak wyciągnąć wszystko co jest w tekście między <a class="searchResultTitle" href=" a ">, kombinowałem tak: ale to by było zbyt proste ![]() Ten post edytował XnIcRaM 19.01.2009, 16:20:14 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 8 Dołączył: 5.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- www.internetum.pl
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 18.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
tak sobie kombinuję i kombinuję, na trzy wyrażenia regularne jakie mam w swoim skrypcie tylko jedno udało mi się zrobić samemu (no w sumie ze sporą pomocą googli), teraz doszedłem że to co powyżej podpowiedział mi kolega magra można zrobić jeszcze na kilka sposobów m.in.
Szukałem gdzieś jakiegoś dobrego opisu wszystkich znaczników, wzorców, modyfikatorów i w ogóle jakiegoś przystępnego opisu PCRE (bo konkretnie to mnie najbardziej interesuje), niestety albo słabo szukam albo nie do końca wiem co mam szukać ale np nie udało mi się znaleźć odpowiedzi choćby na takie (zapewne) proste pytania jak np: 1. jaka jest różnica między użyciem | a # w pierwszych dwóch przykładach, bo na pierwszy rzut oka efekt działania jest ten sam, ale zapewne jakaś różnica 2. nie mam w ogóle pojęcia co oznacza ciąg znaków w nawiasach () w pierwszym i w drugim przykładzie 3. Jeśli się nie mylę to w trzecim przykładzie rozumiem znaczenie uzytych znaków ale tylko pojedynczo jak one działają razem to już nie jestem pewien . oznacza jeden dowolny znak + oznacza że to co przed nim stoi moze wystąpić dowolną ilość razy ale musi być przynajmniej raz natomiast ? oznacza że to co przed nim stoi może pokazać się raz lub w ogóle ale co oznacza .+? nie wiem wychodzi mi na to że oznacza wszystko albo nic czyli że może tam być dowolny ciąg znaków a może również być pusty W założeniu mam do stworzenia jeszcze kilkanaście wyrażeń nie chciałbym o każde pytać na forum jednak moze znajdzie się ktoś kto będzie potrafił wskazać mi jakieś konkretne materiały na ten temat? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Szukałem gdzieś jakiegoś dobrego opisu wszystkich znaczników, wzorców, modyfikatorów i w ogóle jakiegoś przystępnego opisu PCRE (bo konkretnie to mnie najbardziej interesuje), niestety albo słabo szukam albo nie do końca wiem co mam szukać ale np nie udało mi się znaleźć odpowiedzi choćby na takie (zapewne) proste pytania jak np: http://pl.wikibooks.org/wiki/PHP/Podstawy_...żeń_regularnych http://www.regular-expressions.info/tutorial.html - wiem, komercyjne, ale nieźle dopracowane. Cytat 1. jaka jest różnica między użyciem | a # w pierwszych dwóch przykładach, bo na pierwszy rzut oka efekt działania jest ten sam, ale zapewne jakaś różnica Chodzi o objęcie wyrażenia. Ich użycie wewnątrz wzorca wymaga escape'owania, czyli poprzedzenia backslashem ("\"). Cytat 2. nie mam w ogóle pojęcia co oznacza ciąg znaków w nawiasach () w pierwszym i w drugim przykładzie Grupowanie wyrażenia - ciąg znaków spełniający kryteria wzorca w nawiasie będzie zwrócony jako szukany. Cytat 3. Jeśli się nie mylę to w trzecim przykładzie rozumiem znaczenie uzytych znaków ale tylko pojedynczo jak one działają razem to już nie jestem pewien . oznacza jeden dowolny znak + oznacza że to co przed nim stoi moze wystąpić dowolną ilość razy ale musi być przynajmniej raz natomiast ? oznacza że to co przed nim stoi może pokazać się raz lub w ogóle ale co oznacza .+? nie wiem wychodzi mi na to że oznacza wszystko albo nic czyli że może tam być dowolny ciąg znaków a może również być pusty http://www.regular-expressions.info/reference.html -------------------- ![]() 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
#9
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam podobny problem
Z kodu źródłowego strony http://www.pks.lubin.pl/komunikacja_miedzy...n_ustronie.html próbuję wydobyć to, co znajduje się pomiędzy <tr> <td>LEGNICA[tu wszystko aż do następnego znacznika </tr>] i wypisać na stronie. Kod <?php $subject = file_get_contents(http://www.pks.lubin.pl/komunikacja_miedzymiastowa_lubin_ustronie.html); preg_match_all('/<tr><td>LEGNICA(.*)<\/tr>',$subject,$matches) ?> Zasadniczo problemy widzę dwa: 1. skonstruowanie wyrażenia regularnego; 2. wyprowadzenie wyniku na ekran. Pomocy! Proszę. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.05.2025 - 19:56 |