[ 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: 12424
Témy: 1447 | 1447
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 20.10.2014 8:39 | Vyber s html len urcitych casti

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> ?


_________________
SilverStone SST CS01 | Corsair SF600 600W SFX | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 (16 Cores / 32 Threads) & Noctua NH-U9DX i4 | Kingston HyperX Savage 32 GB DDR4 2400 MHz | PNY NVIDIA Quadro K1200 DP 4 GB DDR5 | Intel SSD 750 1.2 TB NVMe & Intel SSD 730 240 GB SATA & Seagate BackUp Plus Portable 12 TB USB | 31.5" 4K LCD EIZO FlexScan EV3237 & 2 x 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech Wireless G700s | Harman Kardon Nova | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 - Intel Core i7 5600U, 8 GB DDR3 1600 MHz, Intel HD Graphics 5500, SanDisk SSD 512 GB, 12.5 FHD LED IPS, WWAN 3G 4G LTE, Microsoft Windows 7 Ultimate | Nintendo Classic Mini | BlackBerry Passport 96 GB
Offline

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

Registrovaný: 08.08.09
Príspevky: 12516
Témy: 41 | 41
Bydlisko: Martin
NapísalOffline : 20.10.2014 8:45 | Vyber s html len urcitych casti

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: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 20.10.2014 10:55 | Vyber s html len urcitych casti

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ý: 20.09.17
Príspevky: 59
Témy: 3 | 3
NapísalOffline : 20.10.2014 15:59 | Vyber s html len urcitych casti

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: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 20.10.2014 16:07 | Vyber s html len urcitych casti

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ý: 20.09.17
Príspevky: 59
Témy: 3 | 3
NapísalOffline : 20.10.2014 16:13 | Vyber s html len urcitych casti

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: 1719
Témy: 0 | 0
NapísalOffline : 20.10.2014 18:17 | Vyber s html len urcitych casti

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: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 20.10.2014 18:30 | Vyber s html len urcitych casti

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: 1719
Témy: 0 | 0
NapísalOffline : 20.10.2014 18:33 | Vyber s html len urcitych casti

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: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 20.10.2014 18:41 | Vyber s html len urcitych casti

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ý: 16.11.17
Príspevky: 451
Témy: 9 | 9
NapísalOffline : 21.10.2014 7:13 | Vyber s html len urcitych casti

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


 [ Príspevkov: 11 ] 


Vyber s html len urcitych casti



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

279

05.07.2014 16:05

chrono

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

zobrazenie len casti ako source

v PHP, ASP

10

247

14.10.2007 11:32

qacer

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

336

28.04.2011 2:13

JanoF

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

Vyber len jedneho zaznamu

v Databázy

5

499

03.01.2009 17:05

zaciatocnik

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

skripanie, praskanie pri urcitych vyskach

v Zvuk

0

634

23.01.2007 21:39

mg6

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

339

13.08.2014 20:08

Phanteom

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

Casti disku

v Ostatné programy

16

266

27.08.2015 12:42

Pospi

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

print vybrannej casti

v HTML, XHTML, XML, CSS

17

692

17.01.2009 14:36

dsljohn

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

Casti, komponenty notebooku

v Notebooky a netbooky

0

190

03.02.2009 11:38

Gr4s5

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

I: Casti PC

v Informujem sa

5

183

24.08.2014 15:31

ramaya

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

zobrazenie casti textu

v PHP, ASP

7

369

11.01.2010 18:52

neopagan

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

Výťah časti reťazca

v PHP, ASP

6

251

10.05.2009 19:52

Denco1

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

I: Casti PC

v Informujem sa

3

144

29.07.2014 21:36

Figio

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

Strata casti disku

v Operačné systémy Microsoft

4

272

21.08.2009 18:25

jurajtuz

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

nahravanie casti obrazovky

v Video programy

1

136

10.10.2012 10:11

System32

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

zmena casti stranky

v HTML, XHTML, XML, CSS

25

990

08.09.2007 10:05

stenley



© 2005 - 2017 PCforum, edited by JanoF