Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parsowanie strony + wyrażenie regularne....
dj.bobas
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 23.06.2008

Ostrzeżenie: (0%)
-----


Witam....

Mam następujący problem: jestem adminem strony parafialnej i mamy dział czytań. Pierwotnie zrobiłem to na zasadzie ręcznego dodawania czytań do bazy, jednak jest to metoda nieefektywna.... Dlatego napisałem parser do pobierania treści z portali z czytaniami, no i mam kłopot.

Próbuję przeparsować nagłowki czytań ze źródła (przykładowy kod, nazwy znaczników specjalnie zmienione):
Kod
< /FONT > Z LISTU DO HEBRAJCZYKÓW:< BR >Hbr &nbsp &nbsp 3, 7-14 &nbsp  < FONTT COLOR="#FF0000">Zachować wierność Bogu.</FONTT></HH2>


No i zastosowałem wyrażenie
Kod
$pattern = "|<BR>.*?<FONT>|"
aby wyciągnąć fragment "Iz 42,1-4, 6-7"

Niestety nie działa....

Inne typu < DIR > .* < / DIR > lub < H2 >< FONT COLOR=\"FF0000\" > .* < BR > działają....

Nie mam na to pomysłu.....

Ten post edytował dj.bobas 13.01.2009, 20:45:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://code.google.com/p/phpquery/

A co do problemu:
Cytat
Niestety nie działa....

Znaki specjalne trzeba escape'ować - preg_quote" title="Zobacz w manualu PHP" target="_manual. Poszukiwany ciąg "nieregularny" w nawias.


--------------------

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!
Go to the top of the page
+Quote Post
dj.bobas
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 23.06.2008

Ostrzeżenie: (0%)
-----


Co do problemu to już częściowo rozwiązałem...

Zastosowałem
Kod
$pattern4 = "/[0-9]{1,2},\s[0-9]{1,2}[\-]{0,1}[0-9]{1,2}.?[\s]?[0-9]?[0-9]?[\-]?[0-9]?[0-9]?/";


i zwraca mi już numer czytania....

Nie wiem tylko jak wyciągnąć trzyliterowy skrót sprzed numeru (są tam twarde spacje...)

jak poprzedzam
Kod
[A-Za-z]{1,4}.?
to mi wywala na ekran właśnie nbsp...... sad.gif
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale masz przecież ampersanda (&) przed nbsp, jego weź za punkt zaczepienia.


--------------------

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!
Go to the top of the page
+Quote Post
dj.bobas
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 23.06.2008

Ostrzeżenie: (0%)
-----


Cytat(erix @ 13.01.2009, 21:25:58 ) *
Ale masz przecież ampersanda (&) przed nbsp, jego weź za punkt zaczepienia.


Dzięki za nakierowanie na rozwiązanie....
Repka dla Ciebie... smile.gif

Ten post edytował dj.bobas 7.04.2010, 16:19:56
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:27