Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie zawartości DIV
Forum PHP.pl > Forum > PHP
Entaro
Witam.

Da się w jakiś sposób pobrać treść zawartą między znacznikami <DIV></DIV> i przypisać ją do zmiennej PHP?

Np. mamy <DIV id="1">tekst</DIV> i chce przypisać to co jest miedzy tym DIV do zmiennej $a a następnie zrobić echo $a; i żeby mi wyświetliło tekst.
erix
  • wyrażenia regularne
  • phpQuery
Entaro
A może, ktoś poda przykład jak to zrobić?
Fafu
Przykład: http://tinyurl.com/n4mjmp
maly_swd
<DIV id="1"....
ID nie moze zaczynac sie od nr smile.gif (przynajmniej tak mi sie wydaje
Pawel_W
Cytat(maly_swd @ 20.08.2009, 21:15:57 ) *
<DIV id="1"....
ID nie moze zaczynac sie od nr smile.gif (przynajmniej tak mi sie wydaje

dobrze Ci się wydaje winksmiley.jpg

a co do tematu:
http://pl.wikibooks.org/wiki/PHP/Podstawy_...żeń_regularnych

po dogłębnej lekturze nie powinieneś mieć już więcej pytań winksmiley.jpg
zegarek84
Cytat(Pawel_W @ 20.08.2009, 21:44:40 ) *
....po dogłębnej lekturze nie powinieneś mieć już więcej pytań winksmiley.jpg

już nie jednemu próbowałem tłumaczyć wyrażenia regularne - i doszedłem do wniosku że już lepiej spróbować potłumaczyć DOM... (zwłaszcza jeśli wewnątrz szukanego tagu są inne tej samej nazwy (domknięcia w tych przypadkach będą identyczne ;/)

...przykład z DOM:
  1. $txt="<div id='loading-layer' style='display:none'>
  2. <div id='loading-layer-shadow'>
  3. <div id='loading-layer-inner'>
  4. <img src='http://forum.php.pl/style_images/upgrade_ip/loading_anim.gif' border='0' alt='Wczytywanie proszę czekać...' />
  5.  
  6. <span style='font-weight:bold' id='loading-layer-text'>Wczytywanie proszę czekać...</span>
  7. </div>
  8. </div>
  9. </div>";
  10.  
  11. // szukamy np div id='loading-layer-shadow'
  12.  
  13. $html = new DOMDocument();
  14. @$html->loadHTML($txt);
  15. $div=null;
  16. $divs = $html->getElementsByTagName('div');
  17. $do=$divs->length;
  18. for($i=0; $i<$do;++$i)
  19. {$id=$divs->item($i)->getAttribute('id');if($id=='loading-layer-shadow'){$div=$divs->item($i);break;}};
  20.  
  21. echo '<pre>'.htmlentities($html->saveXML($div)).'</pre>';

PS. powinien być wczytany cały dokument html z meta określającym kodowanie tego dokumentu - wtedy nie skopie się kodowanie na wyjściu DOM'u
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.