[ 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: 13415
Témy: 1494 | 1494
Bydlisko: Bratislava
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> ?


_________________
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 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 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 24.04.1 LTS
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 | 39
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: 14572
Témy: 66 | 66
Bydlisko: Žilina
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ý: 26.10.23
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: 14572
Témy: 66 | 66
Bydlisko: Žilina
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ý: 26.10.23
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: 1702
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: 14572
Témy: 66 | 66
Bydlisko: Žilina
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: 1702
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: 14572
Témy: 66 | 66
Bydlisko: Žilina
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ý: 19.01.18
Príspevky: 443
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

711

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

459

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

701

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

758

03.01.2009 17:05

zaciatocnik

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

869

13.08.2014 20:08

Phanteom

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

skripanie, praskanie pri urcitych vyskach

v Zvuk

0

949

23.01.2007 21:39

mg6

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

Casti disku

v Ostatné programy

16

673

27.08.2015 12:42

Pospi

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

vadne casti disku

v Pevné disky a radiče

1

440

03.02.2012 10:33

majky358

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

Časti do PC

v PC zostavy

14

740

21.01.2009 17:07

Atrix24

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

zobrazenie casti textu

v PHP, ASP

7

663

11.01.2010 18:52

neopagan

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

print vybrannej casti

v HTML, XHTML, XML, CSS

17

1112

17.01.2009 14:36

dsljohn

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

zmena casti stranky

v HTML, XHTML, XML, CSS

25

1406

08.09.2007 10:05

stenley

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

Casti, komponenty notebooku

v Notebooky a netbooky

0

429

03.02.2009 11:38

Iv0

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

Strata casti disku

v Operačné systémy Microsoft

4

488

21.08.2009 18:25

jurajtuz

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

I: Casti PC

v Informujem sa

5

456

24.08.2014 15:31

ramaya

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

vybratie časti stránky

v HTML, XHTML, XML, CSS

15

1047

03.12.2011 10:04

killer



© 2005 - 2024 PCforum, edited by JanoF