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.