| | |
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 01.05.05 Príspevky: 13343 Témy: 1494 Bydlisko: Bratislava | Napísal JanoF: 20.10.2014 8:39 | |
|
Kód: $string = '<div class="asdf">nejakytext<div class="wert">nejaky iny text</div><div class="asdf">dalsi nejaky text</div></div>'; existuje nejaka funkcia v php, do ktorej zadam ze chcem vybrat vsetko z $string co je medzi <div class="asdf"> a jeho ukoncovaciemu </div> ?
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 20.10.2014 8:45 | |
|
preg_match, alebo preg_match_all ale budeš potrebovať reg.výraz
_________________ always is always wrong |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina | |
Registrovaný: 05.02.13 Prihlásený: 26.10.23 Príspevky: 59 Témy: 3 |
Presne dnes v práci som sa s týmto stretol. Dá sa to cez regulárne výrazy avšak ja som zvolil jednoduchšiu cestu - jquery (ak ti to okolnosti dovoľujú)
Mal som 157 diviek s TV stanicami avšak potreboval som vybrať len názov stanice, obrazok a link.
tak jednoducho cez each som si prechadzal, každé jedno div - findoval elementy a vyťahoval hodnoty. Následne som si v cykle odosielal data cez post - kde sa mi v phpč-ku už ukladali do databázy.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Nič v zlom, ale js je na takéto veci naozaj nevhodné... Nie je to o nič jednoduchšie ako keby si použil niektorý z parserov, čo som linkol ja, akurát ty sa len poriadne obmedzíš a potenciálne si narobíš problémy. Bolo by fajn naučiť sa robiť veci správne a nie len tak "aby to fungovalo"... Takých kolegov som už mal strašne veľa a proste no comment...
_________________ C#, PHP, ... |
|
Registrovaný: 05.02.13 Prihlásený: 26.10.23 Príspevky: 59 Témy: 3 |
To je veľmi diskutabilné. Záleží to od situácie. Ja som mal statický obsah. A áno, v tejto situácii bolo pre mna jednoduchšie použiť Jquery - nie z hľadiska vhodnsoti ale rýchlosti. Jedným riadkom si cez classu vyhľadám input / div v danom cykle, hodnotu uložím a odošlem. Easy.
Tvoj názor je správny, z hľadiska akéhosi nepísaného pravidla správneho programovania. A jednoducho pre mňa v danej situácií, kde hral čas najväčšiu rolu, bolo jednoduchšie cez id-čka / classy zistiť hodnoty ako vymyslieť a overiť správnosť 3och regexov.
EDIT: čo si pozerám tie parsery, užitočná vec - pravda
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 20.10.2014 18:17 | |
|
Ak spracovávaš HTML, rozumné je, podľa mňa, použiť nejaký HTML5 parser (pretože nové prehliadače používajú HTML5) a potom na to použiť XPath či niečo podobné. Prípadne sa dá použiť DOMDocument, je to štandardná súčasť Php a podporuje to všetko potrebné.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
chrono, keď už použiješ parser, tak xpath, domdocument a neviem čo už potom nepotrebuješ... Keď si pozrieš napr ten PHP Simple HTML DOM Parser čo som dal ako príklad, tak ten ti vie vyberať elementy podobne, ako by si to robil pri jquery. Nič viac netreba. Kód: // Create DOM from URL or file $html = file_get_html('http://www.google.com/');
// Find all images foreach($html->find('img') as $element) echo $element->src . '<br>';
// Find all links foreach($html->find('a') as $element) echo $element->href . '<br>'; Nemotajte zasa Janovi hlavu, mám pocit, že aj tak v tom má guláš miestami
_________________ C#, PHP, ... |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 20.10.2014 18:33 | |
|
A keď chceš img element, ktorý je vložený v div s id "thumbnailas" ? (pri XPath je to niečo ako "//div[@id='thumbnails']/img")
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Tak máš návod http://simplehtmldom.sourceforge.net/manual.htm , časť "How to find HTML elements?" Tých možností ako získať ten výsledok je dokonca viacero... Ten tvoj príklad by vyzeral konkrétne asi takto: Kód: $results = $html->find('div#thumbnails img');
_________________ C#, PHP, ... |
|
Registrovaný: 06.02.14 Prihlásený: 19.01.18 Príspevky: 443 Témy: 9 |
janoF: a pre zaujimavost, preco potrebujes parsovat html? neda sa to urobit cele inak a pracovat priamo s datami, nie s (vyslednym) html kodom?
|
|
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| extrakcia casti kodu z HTML v PHP, ASP | 15 | 654 | 05.07.2014 16:05 chrono | | zobrazenie len casti ako source v PHP, ASP | 10 | 423 | 14.10.2007 11:32 qacer | | Zobrazenie len casti z clanku pri strankovani medzi vsetkymi v PHP, ASP | 9 | 662 | 28.04.2011 2:13 JanoF | | Vyber len jedneho zaznamu v Databázy | 5 | 707 | 03.01.2009 17:05 zaciatocnik | | Vymena urcitych komponentov v zostave [ Choď na stránku: 1, 2 ] v PC zostavy | 39 | 801 | 13.08.2014 20:08 Phanteom | | skripanie, praskanie pri urcitych vyskach v Zvuk | 0 | 900 | 23.01.2007 21:39 mg6 | | Casti disku v Ostatné programy | 16 | 577 | 27.08.2015 12:42 Pospi | | vadne casti disku v Pevné disky a radiče | 1 | 370 | 03.02.2012 10:33 majky358 | | Časti do PC v PC zostavy | 14 | 668 | 21.01.2009 17:07 Atrix24 | | zobrazenie casti textu v PHP, ASP | 7 | 567 | 11.01.2010 18:52 neopagan | | print vybrannej casti v HTML, XHTML, XML, CSS | 17 | 1025 | 17.01.2009 14:36 dsljohn | | zmena casti stranky v HTML, XHTML, XML, CSS | 25 | 1330 | 08.09.2007 10:05 stenley | | Casti, komponenty notebooku v Notebooky a netbooky | 0 | 353 | 03.02.2009 11:38 Iv0 | | Strata casti disku v Operačné systémy Microsoft | 4 | 420 | 21.08.2009 18:25 jurajtuz | | I: Casti PC v Informujem sa | 5 | 371 | 24.08.2014 15:31 ramaya | | vybratie časti stránky v HTML, XHTML, XML, CSS | 15 | 963 | 03.12.2011 10:04 killer |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|