Autor | Zpráva | ||
---|---|---|---|
Kubik Profil * |
Zdravim, chtel bych se zeptat, jak pomoci regularniho vyrazu ziskat blok html kodu
priklad: $x ='<div class="box" id="post217640"> <div class="inbox"> <div class="postleft"> <dl> <dt><strong><a href="profile.php?id=11409">Michal753</a><img src="./img/gender-1.png" style="padding-left:5px;"></strong></dt> <dd class="usertitle"><strong>Zelenáč</strong></dd> <dd class="postavatar"></dd> <dd>Registrovaný: 27. 07. 2011</dd> <dd>Příspěvky: 4</dd> <dd><a href="reputation.php?uid=11409">Reputace</a> : <strong title="[+0 / -0]">0 </strong></dd> </dl> </div> <div class="postright"> <h3>oblouk</h3> <div class="postmsg"> <p>ahoj zase potřebuju pomoct:<br />Mostní kruhový oblouk má výšku v = 8m.Oblouk je součástí kružnice s poloměrem r = 29m.Určete rozpětí tohoto mostního oblouku.<br />náčrtek jsem si udělal ale stejnak nemůžu přijít na to jak se to počítá</p> </div> </div> <div class="clearer"></div> <div class="postfootleft"><p>Offline</p></div> <div class="postfootright"><div> </div></div> </div> </div> </div>'; pozn. jedna se o forum, nekolikrat se mi tam opakuje takovy kousek kodu na strance A me ja se potrebuju dostat jen k nektery informacim Kdo ho poslal? <dt><strong><a href="profile.php?id=11409">Michal753</a><img src="./img/gender-1.png" style="padding-left:5px;"></strong></dt> Kdy <dd>Registrovaný: 27. 07. 2011</dd> Pocet prispevku dd>Příspěvky: 4</dd> A jestli se jedna o rekaci na jiny prispevek, v tomto pripade ne Mohl bych udelat regularni vyraz pro kazdou cast, ale chci se zeptat, zda to nejde udelat nejak pro cely blok toho kodu Data chci postupne ukladat do databaze, navic nekde reakce na prispevek je, nekde ne. Takze pokud bych to delal po castech, ze nejdriv bych vytvoril regularni vyraz, ktery by mi vratil, kdo ho poslal, to by se ulozilo, pak kdy, reakci atd., tk by to nemusleo odpovidat presne Navic si myslim, ze pokud bych to delal postupne, ze by to bylo casove narocnejsi, protoze by se to muselo vickrat prochazet od zacatku ten kod Takto mam udelane po castech $h1count = preg_match_all('/(<div class="box" id="post)(.*)(">)/i',$x,$patterns); //idprispevku $h2count = preg_match_all('/(\<a href="profile.php\?id=)(.*)(<\/a>)/i',$x,$patterns2); //user $array = explode('"',$patterns2[2][0]); //iduser $h1count = preg_match_all('/(\<dd>Registrovaný:)(.*)(<\/dd>)/i',$x,$patterns); //registrace $h1count = preg_match_all('/(\<dd>Příspěvky:)(.*)(<\/dd>)/i',$x,$patterns); //pocet prispevku $h1count = preg_match_all('/(\<a href="#p)(.*) (class="reakce">)(.*)<\/a>/i',$x,$patterns); $m = explode('"',$patterns[2][0]); //reakce na Snad je to aspon trochu srozumitelne, diky za pomoc Moderátor Joker: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
Moderátor Joker: Titulek „pomoc s regularnim vyrazem“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Moderátor Joker: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
peta Profil |
#2 · Zasláno: 6. 9. 2011, 10:20:38 · Upravil/a: peta
Proc si neupravis php kod fora, aby ti vytvoril csv format, data oddelena carkou v apostrofech?
Proc to prime nepresypavas databazovym prikazem do jine tabulky a chces to tahat z html kodu? Takhle to budes mit strasne narocne tak, ci tak. Co treba xml parser? http://cz2.php.net/xml_parse talraith at withouthonor dot com 08-Jul-2004 11:40 An example of parsing an XML document: <?php // Use the method of your choice to load the XML document // into a variable... (a very generic sample follows) $XML = '<root><section>This is my sample XML code</section></root>'; $xml = new xml_doc($XML); $xml->parse(); // Access root level object $my_tag = $xml->getTag(0,$name,$attributes,$cdata,$children); ?> Tez ten priklad "michelek 26-Oct-2003 06:42" je zajimavy A jeste jeden example: http://diskuse.jakpsatweb.cz/?action=vthread&forum=8&topic=128165#8 |
||
Časová prodleva: 13 let
|
0