![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hejka, załóżmy iż mam tekst:
Cytat PRZED<div class="aa"><div>ola<div>ss</div></div></div>ala</div>PO<div>DAAALEJ</div> Z tego tekstu chce wyciągnąć całego diva wraz z zawartoscią, ktory ma klasę "aa", czyli cos takiego: Cytat <div class="aa"><div>ola<div>ss</div></div></div>ala</div> Nie sugerujcie sie tekstem PRZED czy tez PO, gdyz to mogą byc dowolne znaki. Kombinuje i kombinuje i nic nie moge wymyslic. Na razie mam cos takiego: Kod /<div class="aa">.*(<div>.*\1.*<\/div>).*<\/div>/g; Ale niestety wyciaga mi to: Cytat <div class="aa"><div>ola<div>ss</div></div></div>ala</div>PO<div>DAAALEJ</div> Pomóżcie ps: wyrażenie te bede obsługiwal w js. tekst moze skladac sie z wielu takich divow o danej klasie i chce je wszystkie wyciągnąc ps2: oczywiscie w tym divie moze juz nie byc innych divow, moze byc tylko sam tekst -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
powinno łapać chyba bez
Kod ala</div> bo ta ala znajduje sie po za zamknięciem diva o który Ci chodzi
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
sorki, pomylilem sie w stringu. powinien wygladac tak:
Cytat PRZED<div class="aa"><div>ola<div>ss</div></div>ala</div>PO<div>DAAALEJ</div> Problem nadal aktualny. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Wg mnie się nie da. Bo na jakiej zasadzie wyrażenie regualne ma wiedzieć, który div jest końcowy? Musiałoby zliczać otwarte i zamknięte elementy, a o czymś takim nie słyszałem.
-------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
Kod <div class="aa">.*?(<div>.*?(<div>.*?</div>.*?)?</div>).*?</div> troche prowizorka - ale działa - przynajmniej z podanym przykładem ![]() Ten post edytował devnul 12.04.2007, 14:29:15 -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat przynajmniej z podanym przykładem no wlasnie, to byl tylko przyklad. Dla takiego przykladu:Cytat PRZED<div class="aa"><div>ola<div>ss</div></div><div>przedala</div>ala</div>PO<div>DAAALEJ</div> Juz nie zadziala ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Hmm wykorzystując regexy w ten sposób chyba się nie da... żeby był to kod uniwersalny.
Ja bym to proponował eval'ować na tablice tylko nie mam narazie pomysłu jak się uporać z dodatkowym info w postaci treści w pregach. -------------------- Goldenline: Łukasz Rodziewicz
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
Kod <div class="aa">.*?(<div>.*?(<div>.*?</div>.*?)*</div>.*?)*</div> ale to już tak (z poprzednim tez dziala;) ) ;]@empathon: jak xmla parsowac mozna - ale to wymaga stricte czystego kodu - bez zupy Ten post edytował devnul 12.04.2007, 14:38:51 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale to już tak (z poprzednim tez dziala;) ) ;] hehe, no tak, ale jak mowilem te divy moga sie zagniezdzac dowolnie gleboko, czyli np. tak:Cytat PRZED<div class="aa"><div>ola<div>ss <div>xxxx</div> </div></div><div>przedala</div>ala</div>PO<div>DAAALEJ</div> Dlatego kombinowalem tak: Cytat <div class="aa">.*?(<div>.*?\1.*?<\/div>)*.*?<\/div> z ta \1 myslac ze lyknie zagniezdzanie, ale cos nie lyka
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%) ![]() ![]() |
nie łyka bo za \1 wstawia to co znalazł(by) w pierwszym wyrazie czyli zagłębien musialoby byc nieskonczenie wiele
a jest opcja żeby zrobić to troche inaczje? czy musi być jedno wyrażenie regularne? Ten post edytował devnul 12.04.2007, 15:00:28 -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat a jest opcja żeby zrobić to troche inaczje? czy musi być jedno wyrażenie regularne? Moze byc inaczej, byleby mi tylko lyknelo wszystkie takie divy. Bo ja tu w przykladzie pokazalem tylko takiego jednego zamoteanego, ale ich moze byc wiecej ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
A czy dopuszczalna jest droga na skróty? - jQuery
Kod var e = $('div.aa').html(); console.debug(e); pozdr. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@siemakuba no popatrz, rozwiązanie mialem przed oczami
![]() ![]() dzieki za myśl -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Do takich rzeczy został stworzony XPath
![]() Kod //div[@class='aa'] i pozamiatane ![]() -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 10:28 |