|
Regular expression i htaccess regex, PCRE, POSIX, upotreba Apache .htaccess , mod_rewrite |
|
Alati teme | Način prikaza |
09. 03. 2007. | #1 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Filtriranje nezeljenih atributa u html-u
Imam problem sa filtriranjem html elemenata koje dobijam iz rss feedova (na blogotku). Da budem precizniji, treba mi nesto poput strip_tags u php-u, ali za html atribute, obzirom da strip_tags uklanja samo nezeljene elemente, pri cemu unutar njih svi atributi ostaju.
Ranije sam za to manje vise uspesno koristio sax parser, ali to vise ne mogu zbog buga u PHP 5.2(na stranu sto je sax cesto pucao zbog lose formiranog xml-a). U prethodna dva dana sam koristio PHP Input Filter klasu, ali sam provalio bug kod nje(uklanja deo querystringa tamo gde postoji), tako da sam ponovo na pocetku. Ivanhoe mi je na jednom drugom postu preporucio regexp, sto je verovatno i najbolje resenje imajuci sve gore navedeno u vidu, ali imam problem sa formiranjem tog regexp-a koji bi prihvatao samo "pozitivne" elemente (i pritom uklanjao negativne). Znam da mogu da radim obrnuto (tipa, sa preg_match_replace brisem redom style, script i sl. atribute), ali se pitam da li je izvodljivo da uradim suprotno - izvucem samo ono sto mi treba. I naravno, ako neko ima neko drugo neregexp resenje, otvoren sam za sve sugestije |
09. 03. 2007. | #2 |
Ivan Dilber
Sir Write-a-Lot
|
ajd posto sam ja kriv za ideju, da pokusam da pomognem
Prvo pobrisi ono sto pouzdano ne zelis, tipa script i style tagova. Onda koristi preg_replace_callback() da pronadjes tagove. U callback funkciji uzmi matches[0], tj. ceo tag i splituj ga u niz atributa. Prodji kroz taj niz i izvadi one koji ti trebaju, sastavi novi tag od njih i to vrati kao rezultat.
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 09. 03. 2007. u 20:45. |
10. 03. 2007. | #3 |
expert
Grand Master
|
|
10. 03. 2007. | #4 | |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Citat:
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
|
10. 03. 2007. | #5 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Problem kod regularnih izraza je sto kod nekog jednostavnog replace-a moras voditi i racuna da se taj atribut koji uklanjas zaista i nalazi unutar nekog elementa.
na primer: PHP kôd:
Elem, probao sam kses koji je odlicno odradio posao, poterao sam skript i updateovao celu bazu postova. Rekao bih da odlicno radi posao, ako ne racunam to da mi uredno ubije apache na mom localhostu Inace, provalio sam da sax parser na php 5.2 nije bio problem vec str_ireplace f-ja koju sam koristio u toj klasi, zbog koga je zend php engine pucao(known bug). Nakon sto sam istu zamenio, moj SAX parser je proradio, ali je i dalje pucao kad god bi neciji post imao lose formiran html(a toga verovali ili ne ima bar 30%). @Ilija heh, partybreaker, gde si bio pre sat vremena Ajd, poslacu mail autoru, pa cu ga pitati kako stoje stvari. Ovako kako stvari stoje, radije cu ceo kod prebaciti u gpl nego sto cu se opet smarati sa time. Sve u svemu, zadrzacu kses dok ne cujem misljenje autora. |
10. 03. 2007. | #6 | |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Citat:
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
|
10. 03. 2007. | #7 |
majstor
Wrote a book
|
Off Topic: A sta je sa koristenjem GPL libova, komponenti i slicnih paketa ukoliko pravis svoj proizvod ciji si ti vlasnik i ne prodajes vec prodajes usluge (tip, webapp)? Moras u tom slucaju objaviti negdje source tvoje aplikacije?? Nekako mi to nije logicno, ne prodajem app, vec usluge koristenja te aplikacije. |
10. 03. 2007. | #8 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Off Topic: I meni su te razne gpl licence vrlo konfuzne. Ja recimo imam neku curl klasu kojoj sam dodelio bsd licencu jer sam cuo da je ona najliberalnija od tih open source licenci, a vrlo je moguce da sam totalno u krivu |
10. 03. 2007. | #9 | |
Ivan Dilber
Sir Write-a-Lot
|
Citat:
__________________
Leadership is the art of getting people to want to do what you know must be done. |
|
10. 03. 2007. | #10 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Ako se ne varam, možeš da koristiš GPL kod u komercijalnim aplikacijama pod uslovom da ih ne distribuiraš (pružanje aplikacije kao servisa ne spada pod distribuciju po GPL v2 tako da si tu pokriven). JBG, ja sve gledam iz ugla nekog ko pravi softver koji se distribuira.
Najbolje da vidiš šta čovek ima da kaže. Najverovatnije neće biti nikakvih problema, a sve se reši s jednim do dva maila...
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
JS: Dohvatiti varijednost id atributa u anchors tagovima koji imaju class='selected'? | mb_sa | (X)HTML, JavaScript, DHTML, XML, CSS | 5 | 28. 12. 2009. 01:14 |
Mapiranje vrednosti atributa na kolone ili redove? | Petar Marić | SQL baze podataka - Sponzor: Baze-Podataka.net | 3 | 18. 10. 2008. 23:35 |
SEF .html ili .php? | Codegen | Marketing i SEO | 5 | 11. 06. 2008. 00:32 |
Elegantnije filtriranje niza | Pedja | PHP | 4 | 21. 07. 2007. 00:02 |
HTML/CSS na PDA | Pedja | (X)HTML, JavaScript, DHTML, XML, CSS | 6 | 26. 01. 2006. 12:59 |