jstirrell
Enlive and Fleet are other options and I've briefly explored both at certain points, but I personally just found them both unwieldy and unnatural, with other disadvantages as well. I'm sure they suit the needs of some people but I dismissed them before I got past the minimal learning curve.
The same goes for StringTemplate. It seems really cool and everything, but I just don't want to have to learn (and use half the time) a whole new different syntax just to stick dynamic strings in a page.
PHP just makes it so damn easy that it's hard for me to pass up when it comes to churning out webpages.
I don't understand all the hate against Smarty. How would the "PHP is already a templating language" argument explain the rise of all these PHP frameworks we have no, almost all of which contain some means of templating.
Smarty allows me to not have to worry about boring presentation layer crap (ie htmlentities) without having to commit to a large framework. Plus its syntax is pretty nice.