Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Usuwanie znaczników <div> na początku i końcu kodu
magu112
post 12.09.2009, 10:20:43
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 2
Dołączył: 22.07.2009

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


Witam.
A więc mam jakiś kod html.

  1. <div id='news-id-123656'> jakis kod HTML ktory rowniez zawiera znaczniki </div></div><div class="dot"></div>


I chcę żeby z niego wycięło mi początkowego diva czyli "<div id='news-id-123656'>" i tego diva zamykającego "</div>" oraz żeby usunęło wszystko co się znajduje za tym zamykającym div'em czyli "</div><div class="dot"></div>"

- w początkowym divie news-id-123656 może posiadać dowolną liczbę. liczba jest wczytywana z funkcji $ttq[1]

W tedy został by sam jakis kod HTML ktory rowniez zawiera znaczniki - oczywiście w tym kodzie znajdują się również znaczniki takie jak <div> <a> <br> <img> itd.

Go to the top of the page
+Quote Post
Spawnm
post 12.09.2009, 10:53:47
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




preg_match , preg_replace
Go to the top of the page
+Quote Post
magu112
post 9.10.2009, 20:20:47
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 2
Dołączył: 22.07.2009

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


próbowałem to zrobić za pomocą preg_replace ale coś mi nie wychodziło
proszę o jakieś wskazówki.

chcę usunąć z kodu początkowego diva i końcowego diva

Kod
<div id='news-id-123656'> jakis kod html ktory rowniez zawiera znaczniki </div>


Ten post edytował magu112 9.10.2009, 20:22:31
Go to the top of the page
+Quote Post
potreb
post 9.10.2009, 20:23:37
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1. function clear($content) {
  2. $content = preg_replace('/<div[^>]*>/', '', $content);
  3. $content = preg_replace('/<\/div>/', '', $content);
  4. return $content;
  5. }
  6.  
  7. echo clear('<div id="news-id-123656"> jakis kod HTML ktory rowniez zawiera znaczniki </div></div><div class="dot"></div>');


Ten post edytował potreb 9.10.2009, 20:23:54


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

Go to the top of the page
+Quote Post
magu112
post 9.10.2009, 21:11:21
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 2
Dołączył: 22.07.2009

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


robiłem już coś podobnego ale w ten sposób są usuwane wszystkie DIVy a chodzi tylko o div na początku i na końcu
Go to the top of the page
+Quote Post
zegarek84
post 9.10.2009, 23:23:57
Post #6





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

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


zainteresuj się Document Object Model - masz tam wszystkie potrzebne metody - skoro chcesz parsować dokumenty html z bardziej skomplikowaną strukturą to wolę Cię naprowadzać niż dać gotowca gdyż inaczej pytania zawsze będą w tej materii - po odnalezieniu szukanego elementu użyjesz metody do zapisu tylko tego elementu winksmiley.jpg


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
magu112
post 12.10.2009, 15:09:44
Post #7





Grupa: Zarejestrowani
Postów: 47
Pomógł: 2
Dołączył: 22.07.2009

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


no w końcu poradziłem sobie

  1. preg_match("|<div id='news-id-{$id-n}'>(.+)</div>|mi",$text,$wynik);


pozdrawiam, i dziękuję za dobre chęci

Ten post edytował magu112 12.10.2009, 16:27:35
Go to the top of the page
+Quote Post
zegarek84
post 13.10.2009, 14:54:24
Post #8





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

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


Cytat(magu112 @ 12.10.2009, 16:09:44 ) *
no w końcu poradziłem sobie

  1. preg_match("|<div id='news-id-{$id-n}'>(.+)</div>|mi",$text,$wynik);


pozdrawiam, i dziękuję za dobre chęci

czyżby blinksmiley.gif aaevil.gif - a czytałeś może o zachłanności wyrażeń regularnych questionmark.gif raczej nie guitar.gif
to teraz taki przykład z palca i napisz, że działa poprawnie winksmiley.jpg

  1. <div> tego nie będzie<div id='news-id-cośtam'>to i ten <div>wewnętrzny div będzie</div></div> a tu lipa bo to też będzie ^^ - chyba coś nie wyszło ;p</div>


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

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 Wersja Lo-Fi Aktualny czas: 26.04.2025 - 03:21