Možná by nebylo na škodu si vzpomenout, že regulární výraz nám definuje konečný stavový automat, viz. http://en.wikipedia.org/wiki/Regular_expression
A nevidím rozumný důvod psát celý parser v PHP, když lze pohodlně použít osvědčenou a dobře otestovanou knihovnu, kterou PHP standardně obsahuje. (navíc nalinkovanou z C, takže určitě rychlejší, než interpretovaný PHP kód)