It's hard to beat BBEdit. There is a light version for free, but the Pro version, which has just been updated is terrific. The Pro version will automatically colour code your html, php and any stylesheets that you use, and there is a great built in syntax checker.
Both the lite version and the pro version allow you to search and replace a piece of text in multiple files (you specify a folder and all files will be updated). This has been invaluable to me as it allows me to update a whole website in seconds.
Finally the new Pro version will allow you to open and change system files, if you have an administrator password.
The Pro Version is available for a months trial at the moment.