почитайте внимательнее про untaint
Maxx 31.07.2007 16:43
/ 31.07.2007 16:44
Особенно это место:
Само преобразование Parser выполняет позже, при выдаче результата обработки документа пользователю, перед выполнением SQL-запроса или отправкой письма.
А регулярное выражение вы почти написали, только словами.
у вас есть набор литералов - x,y,числа и набор операций с ними.
все что нужно проверить это чтобы слева от литерала было либо начало строки либо действие
Литералы описываются так: (?:[xy]|\d+)
(или так, для предыдущего варианта с x1,x2 - (?:x?\d+) )
то что слева - так: (?:^^|[\/*+-])
зачит шаблон
соответствующий тому что вам надо - (?:^^|[\/*+-])(?:[xy]|\d+)
а доку почитать по регулярным выражениям действительно стоит, заодно проверьте чего я тут написал, мог и ошибиться