preg_replace() is about as fast as it gets. I doubt very much that starting an external program and sending the data back and forth is going to be any faster.
How many microseconds is 200%?
Are you using the Zend optimizer?
How much data are you parsing?
And if speed is such an issue you may want to rethink your program design.
Liek: Do you really have to parse all the text?
Don't sacrifice ease of use for speed!