Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Vyber s html len urcitych casti

Registrovaný: 01.05.05
Príspevky: 13343
Témy: 1494
Bydlisko: Bratislava
Príspevok NapísalOffline : 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
Offline

Správca fóra
Správca fóra
Vyber s html len urcitych casti

Registrovaný: 08.08.09
Príspevky: 12449
Témy: 39
Príspevok NapísalOffline : 20.10.2014 8:45

preg_match, alebo preg_match_all ale budeš potrebovať reg.výraz







_________________
always is always wrong
Offline

Skúsený užívateľ
Skúsený užívateľ
Vyber s html len urcitych casti

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 20.10.2014 10:55

Určite by som neodporúčal naprogramovať si to sám, hlavne, keď s tým človek nemá skúsenosti a chce to rovno použiť na skutočnú webstránku.
Jano, použi niečo takéto http://simplehtmldom.sourceforge.net/
Prípadne iný parser... Je ich veľa, netuším, ktorý je najlepší pre php.

Tu je vcelku pekný prehľad http://stackoverflow.com/questions/3577 ... xml-in-php







_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Vyber s html len urcitych casti

Registrovaný: 05.02.13
Prihlásený: 26.10.23
Príspevky: 59
Témy: 3
Príspevok NapísalOffline : 20.10.2014 15:59

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.


Offline

Skúsený užívateľ
Skúsený užívateľ
Vyber s html len urcitych casti

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 20.10.2014 16:07

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, ...
Offline

Užívateľ
Užívateľ
Vyber s html len urcitych casti

Registrovaný: 05.02.13
Prihlásený: 26.10.23
Príspevky: 59
Témy: 3
Príspevok NapísalOffline : 20.10.2014 16:13

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


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 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é.


Offline

Skúsený užívateľ
Skúsený užívateľ
Vyber s html len urcitych casti

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 20.10.2014 18:30

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 :lol:







_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 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")


Offline

Skúsený užívateľ
Skúsený užívateľ
Vyber s html len urcitych casti

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 20.10.2014 18:41

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, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.02.14
Prihlásený: 19.01.18
Príspevky: 443
Témy: 9
Príspevok NapísalOffline : 21.10.2014 7:13

janoF: a pre zaujimavost, preco potrebujes parsovat html? neda sa to urobit cele inak a pracovat priamo s datami, nie s (vyslednym) html kodom?


Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. extrakcia casti kodu z HTML

v PHP, ASP

15

654

05.07.2014 16:05

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zobrazenie len casti ako source

v PHP, ASP

10

423

14.10.2007 11:32

qacer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zobrazenie len casti z clanku pri strankovani medzi vsetkymi

v PHP, ASP

9

662

28.04.2011 2:13

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vyber len jedneho zaznamu

v Databázy

5

707

03.01.2009 17:05

zaciatocnik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vymena urcitych komponentov v zostave

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PC zostavy

39

801

13.08.2014 20:08

Phanteom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. skripanie, praskanie pri urcitych vyskach

v Zvuk

0

900

23.01.2007 21:39

mg6 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Casti disku

v Ostatné programy

16

577

27.08.2015 12:42

Pospi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vadne casti disku

v Pevné disky a radiče

1

370

03.02.2012 10:33

majky358 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Časti do PC

v PC zostavy

14

668

21.01.2009 17:07

Atrix24 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zobrazenie casti textu

v PHP, ASP

7

567

11.01.2010 18:52

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. print vybrannej casti

v HTML, XHTML, XML, CSS

17

1025

17.01.2009 14:36

dsljohn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zmena casti stranky

v HTML, XHTML, XML, CSS

25

1330

08.09.2007 10:05

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Casti, komponenty notebooku

v Notebooky a netbooky

0

353

03.02.2009 11:38

Iv0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Strata casti disku

v Operačné systémy Microsoft

4

420

21.08.2009 18:25

jurajtuz Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. I: Casti PC

v Informujem sa

5

371

24.08.2014 15:31

ramaya Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vybratie časti stránky

v HTML, XHTML, XML, CSS

15

963

03.12.2011 10:04

killer Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra