Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Parsowanie kodu html
gizmoo
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 29.11.2008

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


Witam.

Potrzebuje napisać wyrażenie regularne,do funkcji preg_match, pobierające zawartość znacznika html wraz z podznacznikami. Wewnątrz tego znacznika, nie ma już znaczników tego samego typu. Powiedzmy, że mam taki kod:

!-- pozostały kod html
<div>
<a>dsfdsfds</a>
dfssdfdsfs
</div>
!-- pozostały kod html

Szukałem w googlach, ale bez efektu.
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Jeżeli jest to poprawny dokument XML (np. XHTML) możesz skorzystać np. z simplexml" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
gizmoo
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 29.11.2008

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


Wolałbym wyrażenie regularne.
Go to the top of the page
+Quote Post
zegarek84
post
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


pisane z palca u znajomego więc nie sprawdzę tego na localhoście ale coś w ten deseń (gdzie w zmienną $text musisz załądować kod):
Kod
preg_match('/<znacznik>(.*)<\/znacznik>/', $text, $matches);
echo $matches[1];
Go to the top of the page
+Quote Post
gizmoo
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 29.11.2008

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


Nie za bardzo o to chodzi. Wspomnę, że w wyrażeniach nie jestem nowicjuszem. Do tego pasują ciągi:

Kod
<div>fdsfsdfsdf</div>

jak i
Kod
<div>fdsfsdfsdfds<div><div>sdfsdfdsfdsf</div>

Bardziej mi chodzi o coś takiego

<div> { Wszystko oprócz '</div>' } </div>

Ten post edytował gizmoo 24.01.2009, 14:51:01
Go to the top of the page
+Quote Post
djstrong
post
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 9
Dołączył: 22.09.2006

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


Kod
preg_match('/<znacznik>(.*?)<\/znacznik>/', $text, $matches);


ew. dodać flagę s, żeby ignorował /n

Kod
preg_match('/<znacznik>(.*?)<\/znacznik>/s', $text, $matches);
Go to the top of the page
+Quote Post
gizmoo
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 29.11.2008

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


Wielkie dzięki. O to chodziło
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:27