DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > Regular expression i htaccess
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Regular expression i htaccess regex, PCRE, POSIX, upotreba Apache .htaccess , mod_rewrite

Odgovori
 
Alati teme Način prikaza
Staro 09. 03. 2007.   #1
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default 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
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat
Staro 09. 03. 2007.   #2
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

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.
ivanhoe je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #3
robi-bobi
expert
Grand Master
 
Avatar robi-bobi
 
Datum učlanjenja: 05.10.2005
Lokacija: Sofia, Bulgaria
Poruke: 805
Hvala: 222
958 "Hvala" u 68 poruka
robi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu aururobi-bobi ima spektakularnu auru
Pošaljite poruku preko Skype™ za robi-bobi
Default

http://sourceforge.net/projects/kses

vidim da neki WYSIWYG projekti koriste ovo
robi-bobi je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #4
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Citat:
Originalno napisao robi-bobi
Licenca nije baš najsrećnije odabrana, s obzirom da je lib u pitanju. Pošto je GPL u pitanju može da se koristi samo u GPL projektima. Doduše, uvek možeš da pogledaš kako je nešto napravljeno pa da sam napraviš svoje...
Ilija Studen je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #5
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default

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:
$html preg_replace("/style=\"[^\"]+\"/"''$html);
$html preg_replace("/align=\"[^\"]+\"/"''$html);
$html preg_replace("/id=\"[^\"]+\"/"''$html);
$html preg_replace("/onblur=\"[^\"]+\"/"''$html); 
ce uredno ukloniti i neki style="foo" koji se regularno nalazi bilo gde u postu, sto nije nesto sto sam zeleo.

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.
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #6
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Citat:
Originalno napisao dinke
@Ilija
heh, partybreaker
JBG. Javi šta je rekao čovek. Možda nije loša ideja da se predloži prebacivanje na LGPL ili neku slobodniju licencu koja je prikladnija za libove. Vrlo je moguće da autori uopšte nisu obraćali pažnju na legal issues kada su birali licencu. Opet, postoji mogućnost da su zagrišeni FLOSS-ovci i da su namerno odabrali GPL iako je lib u pitanju. Who knows...
Ilija Studen je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #7
misk0
majstor
Wrote a book
 
Avatar misk0
 
Datum učlanjenja: 30.01.2006
Lokacija: Lugano - Switzerland
Poruke: 1.251
Hvala: 219
106 "Hvala" u 67 poruka
misk0 će postati "faca" uskoromisk0 će postati "faca" uskoro
Pošaljite ICQ poruku za misk0 Pošaljite poruku preko Skype™ za misk0
Default

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.
misk0 je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #8
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default

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
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #9
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Citat:
Originalno napisao dinke
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.
zato sam i rekao da koristis preg_replace_callback() da nadjes CEO TAG. A onda u callback funkciji radis replace atributa... ovo radi vrlo pouzdano...
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 10. 03. 2007.   #10
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

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...
Ilija Studen je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

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


Vreme je GMT +2. Trenutno vreme je 00:04.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.