DOM - existence tagu? – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

DOM - existence tagu? – PHP – Fórum – Programujte.comDOM - existence tagu? – PHP – Fórum – Programujte.com

 

pawlik0
Grafoman
25. 6. 2008   #1
-
0
-

V manuálu jsem nějak 'nenašel', jak zjistím jestli se v dokumentu vyskytuje alespoň jeden tag např. <b> . ví někdo?

Nahlásit jako SPAM
IP: 89.176.203.–
Sa Nata A Na. Howgh
toka0
Stálý člen
26. 6. 2008   #2
-
0
-

Jasne :D



function tagExist(tag) {
if(document.getElementsByTagName(tag).length > 0) return true;
else return false;
}

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
pawlik0
Grafoman
26. 6. 2008   #3
-
0
-

To toka : Mluvíme oba o PHP?

Nahlásit jako SPAM
IP: 195.113.87.–
Sa Nata A Na. Howgh
26. 6. 2008   #4
-
0
-

Sry, on se pta na PHP ;)

To pawlik: projed si tohle
http://cz.php.net/dom
Jinak upozornuju, ze na jakekoliv pouziti DOM v PHP musis mit 100% XML validni dokument (vsechny tafy musi byt uzavrene a ve spravnem poradi), jinak to selze.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
pawlik0
Grafoman
26. 6. 2008   #5
-
0
-

To CommanderZ :

V manuálu jsem nějak 'nenašel',


p.s. V DOM parsuju HTML, ne XML.

Nahlásit jako SPAM
IP: 195.113.87.–
Sa Nata A Na. Howgh
ench0
Stálý člen
26. 6. 2008   #6
-
0
-

pawlik napsal:
To CommanderZ :

V manuálu jsem nějak 'nenašel',


p.s. V DOM parsuju HTML, ne XML.



- HTML je speciálním typem XML - a to že se ti i špatně napsané HTML někdy zobrazí správně neznamená že to je správně napsané.

CommanderZ tím myslel že to HTML musí být 100% validní abys to přes ten DOM našel (pokud se mýlím opravte mě)

Nahlásit jako SPAM
IP: 88.146.205.–
I programování je pudová záležitost. Buď to pude, nebo to nepude
26. 6. 2008   #7
-
0
-

CommanderZ tím myslel že to HTML musí být 100% validní abys to přes ten DOM našel (pokud se mýlím opravte mě)


HTML jako takove validni byt nemusi, muzes tam klidne mit neco jako <abc zprava="ahoj">LOL</abc>, za coz by te kazdy HTML validator vyfuckoval, ale PHP DOM modul ti to rozparsuje, protoze z hlediska XML struktury to validni je.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
toka0
Stálý člen
26. 6. 2008   #8
-
0
-

To pawlik : Sorry, to me nejak nedoslo, hlavne z toho duvodu, ze DOM v PHP je dost krkolomny, viz nekolik komentaru od "VeliteleZ" :smile1:
To CommanderZ : Mas pravdu, v zapalu boje jsem zapomnel, v jakem threadu fora jsem :smile18:

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
pawlik0
Grafoman
26. 6. 2008   #9
-
0
-

mno asi sem mimo. Zatím od vás vím jen to, že to musí být validní, ale odpověď zatím žádná.

V manuálu jsem nějak 'nenašel', jak zjistím jestli se v dokumentu vyskytuje alespoň jeden tag např. <b> . ví někdo?

Nahlásit jako SPAM
IP: 195.113.87.–
Sa Nata A Na. Howgh
26. 6. 2008   #10
-
0
-

DOM je v PHP hlavne pomale, krkolomne az zas tak ne - ono se chova docela podobne jako v JS - tam ti taky bude blbnou, jestli mas pokazenou XML strukturu.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
toka0
Stálý člen
26. 6. 2008   #11
-
0
-

CommanderZ napsal:
DOM je v PHP hlavne pomale, krkolomne az zas tak ne - ono se chova docela podobne jako v JS - tam ti taky bude blbnou, jestli mas pokazenou XML strukturu.

Krkolomne, pomale, to je jedno co to je za slovo, proste to je v praxi tezko pouzitelne, protoze IMHO to je takova PHP klicka neceho, co by PHP ani delat nemelo :)

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
26. 6. 2008   #12
-
0
-

Proc ne? Ono to slouzi hlavne jako XML parser, na HTML neni urcen.

BTW, existuje nekolik dalsich XML parseru pro PHP, ty se ale museji doinstalovavat.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
pawlik0
Grafoman
26. 6. 2008   #13
-
0
-

tak jsem to nějak vyřešil. asi ne optimálně, ale

$bs=0;

$B = $dom->getElementsByTagName("b");
foreach ($B as $b) {
$bs++;
}

Nahlásit jako SPAM
IP: 89.176.203.–
Sa Nata A Na. Howgh
26. 6. 2008   #14
-
0
-

Pouzij funkci count, ta ti vrati pocet polozek v poli

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
pawlik0
Grafoman
26. 6. 2008   #15
-
0
-

To CommanderZ :

echo count($dom->getElementsByTagName("jakykoliv_tag"));
vždy vrací 1 - nechápu

Nahlásit jako SPAM
IP: 89.176.203.–
Sa Nata A Na. Howgh
bukaj0
Věrný člen
26. 6. 2008   #16
-
0
-

pawlik
Jenže metoda getElementsByTagName() nevrací pole, ale instanci DOMNodeList, která má zřejmě implementován Iterator (i když v manuálu jsem to o tom žádnou zmínku nenašel, ale jinak by nešla procházet v konstrukci foreach), ale nejspíš už ne Countable. Ale co jsem našel, je možné získat velikost pomocí vlastnosti length.

$pocet = $dom->getElementsByTagName("jakykoliv_tag")->length;

Nahlásit jako SPAM
IP: 212.116.219.–
Jak se správně ptát? -> http://www.hash.cz/inferno/otazky.html[br][br] Po programování je člověk hladovej.
hrach
~ Redaktor
+1
Boss
26. 6. 2008   #17
-
0
-

ja bych sel pres preg_match('#<b>.*</b>#i', $str);

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
toka0
Stálý člen
26. 6. 2008   #18
-
0
-

To hrach : Ale to bys do toho musel vlozit jako retezec ten kod prave zpracovavane stranky, coz by bylo trosku divne, jestli jsme to pochopil spravne, jak to myslis. Spravne pres to DOM, asi jak rika bukaj .

Nahlásit jako SPAM
IP: 84.16.102.–
Tomáš Kavalek
hrach
~ Redaktor
+1
Boss
26. 6. 2008   #19
-
0
-

To toka : no tak, většinou mam dokument v tom řetězci, ne?

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
toka0
Stálý člen
27. 6. 2008   #20
-
0
-

Myslim jako ze mam skript, v kterem budu mit ten preg_match, a abych ho mohl pouzit na stejny soubor, tak bych ho musel znovu do $str nacist, treba pres get_file_content. Protoze jinak nevim, nebo tomu vubec nerozumim :)

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
27. 6. 2008   #21
-
0
-

Na pouziti DOM funkci take musis mit kompletni soubor/retezec s celym dokumentem.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
pawlik0
Grafoman
27. 6. 2008   #22
-
0
-

To bukaj : no moc děkuji. už to funguje - i když nějak moc složitě "nad můj level". DOM by mohli přejmenovat na DOB(Document Object Bordel) :). Prostě děkuju všem :)

Nahlásit jako SPAM
IP: 89.176.203.–
Sa Nata A Na. Howgh
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 25 hostů

Podobná vlákna

Existence souboru — založil BDS

Existence URL — založil pawlik

Existence souboru — založil Tomik

HTML SIMPLE DOM — založil webdorf

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý