HTML validovanie cez PHP

Programovacie jazyky, rady, poradňa...
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

HTML validovanie cez PHP

Príspevok od používateľa S.T.E.A.L.T.H »

Zdar vospolok.
V prvom rade sa ospravedlnujem ak sa to tu uz riesilo potom -> zlucit, zmazat, whatever.
Co mam za problem? Da sa nejako lahko a rychlo zvalidovat ci je v poriadku HTML kod pomocou PHP? To znamena ci su spravne vnorene tagy respe su spravne uzavrete/otvorene medzi sebou? Nehladam ziaden externy validator, nechcem instalovat ziadne rozsirenie to php, hladam skor nejaku funkciu respektive nejaky relativne jednoduchy napad.
Dakujem
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: HTML validovanie cez PHP

Príspevok od používateľa sharky-no »

plugin do prehliadaca ?
Sær
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 53
Registrovaný: 17 dec 2013, 15:10

Re: HTML validovanie cez PHP

Príspevok od používateľa Sær »

Všetko je popísané tu, stačí obetovať 2 sekundy Googlenia.

// Preto treba nabudúce do otázky zahrnúť aj ako ďaleko si došiel, resp. čo si vyskúšal.
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: HTML validovanie cez PHP

Príspevok od používateľa S.T.E.A.L.T.H »

Googlil som to viac ako dve sekundy, ja tu nenapisem skor, ako nieco neviem vyriesit aspon 2 dni. Ten DOMDocument je fasa vec. To som nasiel aj sam. Par warningov som potlacil ale take veci ako
\Warning: DOMDocument::validate(http://www.w3.org/TR/REC-html40/loose.dtd): failed to open stream: HTTP request failed! in /var/www/html/oop.php on line 67

Warning: DOMDocument::validate(): I/O warning : failed to load external entity "http://www.w3.org/TR/REC-html40/loose.dtd" in /var/www/html/oop.php on line 67

Warning: DOMDocument::validate(): Could not load the external subset "http://www.w3.org/TR/REC-html40/loose.dtd" in /var/www/html/oop.php on line 67
tak tam mi potlacenie nepomoze. Nahodou niekto nejake skusenosti?
sharky-no napísal:plugin do prehliadaca ?
Potrebujem overit vstup od uzivatela na webe, takze toto mi nepomoze.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: HTML validovanie cez PHP

Príspevok od používateľa harrison314 »

V tom vstupe mozu abyt akeolvek tagy, alebo je to daco ako vyucbovy web, kde ti staci obmedzene mnozstvo tagov?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: HTML validovanie cez PHP

Príspevok od používateľa *****HERO***** »

v oboch pripadoch snad musi pocitat s tym, ze mu zo vstupu moze prist cokolvek :)

ja by som to v tvojom pripade riesil cez oficialny w3 validator. proste si tam cez cURL posles request, sparsujes vysledok a mas vystarane. nie najidealnejsie riesenie, ale rozhodne najjednoduchsie
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: HTML validovanie cez PHP

Príspevok od používateľa harrison314 »

*****HERO***** napísal:v oboch pripadoch snad musi pocitat s tym, ze mu zo vstupu moze prist cokolvek :)
To ano, ale implementacia bude ina.
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: HTML validovanie cez PHP

Príspevok od používateľa S.T.E.A.L.T.H »

Ide o bmedzeny pocet tagov. Vsetko zakazujem a prevadzam na html entity. Samotny vstup ale nebude HTML, ale phpbb tag (vlastny skript na pozadi, nie z phpbb), a tam si nemozem dovolit, aby mi vznikla zmaska bullshitneho kodu.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: HTML validovanie cez PHP

Príspevok od používateľa harrison314 »

Tak na to ti stacia regexpi, napr "\[b\](.*?)\[/b\]", vyparsujes si vnutro tagov v nom skontrolujes ci sa nachazdju len tie spravne, a ci ti v cistom texte nehodou nezostal neuzavrety tag.
Alebo tieto tagy nahradis XML tagmi a npises si k tomu vlastne DTD a pomocou neho zvalidujes.
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: HTML validovanie cez PHP

Príspevok od používateľa S.T.E.A.L.T.H »

Do xml a DTD sa prd rozumiem, ale zjavne si budem musiet nieco nastudovat, ak nezriesim nic pomocou pvej moznosti. Napada mi pri tom totiz par veci, ktore mozu robit opat problemy, ale to snad vyriesim, ked mi bude lepsie palit, musim sa na to vyspat, dlhy den. Vdaka zatial za rady, ak sa zas zaseknem, tak sa ozvem :)
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: HTML validovanie cez PHP

Príspevok od používateľa harrison314 »

S.T.E.A.L.T.H napísal:Do xml a DTD sa prd rozumiem, ale zjavne si budem musiet nieco nastudovat, ak nezriesim nic pomocou pvej moznosti. Napada mi pri tom totiz par veci, ktore mozu robit opat problemy, ale to snad vyriesim, ked mi bude lepsie palit, musim sa na to vyspat, dlhy den. Vdaka zatial za rady, ak sa zas zaseknem, tak sa ozvem :)
Praca s XML je par funkcii/metod a ani DTD sa nemusis bat, spolu sa to da zvladnut za par (2-3) hodiny.
Co sa tyka parsovania cez regexpi, tak tam je to zlozitejsie a viac implementacie bude na tebe.
Ale este je aj tretia alternatva, http://sourceforge.net/projects/lime-php/ vies si zadefinovat gramatiku aku len chces a hned to preklopit aj do HTML-ka. Bolo by to podla mna najelegantnejsie riesnie, ale to by si musel aspon trochu ovladat teoreticku informatiku.
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: HTML validovanie cez PHP

Príspevok od používateľa S.T.E.A.L.T.H »

Vdaka za pomoc, zatial som to vyriesil tak, ze som si vytvoril easy xml dokument a ten nacitam cez SimpleXMLElement() cez try. Ak prejde, tak je well-formed ak nie, tak nie je a nepustim to dalej. Zatial to robi, co si predstavujem.
Napísať odpoveď