Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Usuwanie znaczników <div> na początku i końcu kodu
Forum PHP.pl > Forum > Przedszkole
magu112
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.

Spawnm
preg_match , preg_replace
magu112
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>
potreb
  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>');
magu112
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
zegarek84
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
magu112
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
zegarek84
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>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.