Ответ
Misha v.3 27.09.2006 16:50
/ 27.09.2006 16:59
1. составить список разрешенных тэгов
2. для не разрешенных и не ентитей - заменять на <, >, &
3. проверять валидность разрешенных тегов (при попытке сохранения после п.2 пробовать делать xdoc::create), в случае неудачи - не сохранять результат, а показывать его в форме и требовать исправления.
разрешенные, но не закрытые теги преобразовывать в <zyx> не хорошо, т.к. когда ваш пользователь ввел <phone>111-22-33<phone> то скорее всего он просто забыл закрыть тег, но не хотел чтобы этот тег отобразился в броузере как тег. и ему надо сразу указать на его ошибку, а не заставлять его ходить на сайт и проверять что же в результате получилось (а в идеале можно показывать ему preview, например отправляя результат на сервер и получая ответ через ajax %-)).
P.S. "метатеги" - отстой %-)