I'll ask the same question of you that I'd ask of anyone suggesting Smarty:
Why do you want to add a templating language to PHP, which is a templating language?
PHP is a templating language. I think people forget that or try to treat it like a pure OO language, which it isn't. Play to PHP's strengths. Don't try and make it something it's not.
That all being said, it's hard to answer your question because you don't say how simple or complex your templating system is, namely what features you intend to support.
If your templating language is relatively simple then regular expressions may be the way to go. That won't work for some trivial cases however. Nesting of control structures is probably the most common. In that case you'll need to write some form of rudimentary parser.
Let's say that all your templating structures are in blocks like this:
{:...:}
because that's relatively unlikely to occur otherwise in an HTML page (although, for completeness, you'll need to cater for the case where the user does actually want to use those character combinations.
You need to scan your file for such expressions and process them accordingly. Regular expressions can be used to find them all but not necessarily matching ones, like for conditional includes eg:
{:if ...:}
Some conditional content
{:endif:}
Why? Because of this:
{:if *some condition*:}
{:if *some other condition*:}
Some other conditional content
{:endif:}
Some conditional content
{:endif:}
Matching that with regular expressions can't reliably be done so you'll need to parse your file into some form of tree of lexemes and then process it.