PHP: Regex support is decent, but regexes are stored as strings that must be recompiled with every use. It is possible to segfault PHP using a badly written regular expression, something that's supposed to be impossible for an interpreted language. More complex algorithms and parsing libraries don't really exist for PHP. PHP's simplicity can often be a strength. Once you start writing more serious, long-running applications you'll find it's inscrutably poor garbage collection driving you mad and impossible to debug (something that's supposed not to be an issue for interpreted languages). I've written some relatively complex NLP products in PHP and ended up partly regretting it.
Python: Python is a "good" language; it's design is relatively well-thought out. It's regex object model is more advanced and often convenient (don't forget the re.DEBUG flag to let you see the entire parse tree for a given regex). However, certain common regex features are completely missing or misbehave, such as atomic groupings, in-line flags or nested flags being improperly scoped. Supposedly they're fixing these things for 2.7. There are some good NLP libraries for Python. Python's central package repository system(s) are often inconsistent or unreliable.
Perl: Very popular in the NLP world. Its designers somehow got the idea in their head that more complex syntax equals better and have been working steadily to make it as indecipherable as possible, leading to an equally steady decline in its popularity. Perl has been almost completely supplanted by PHP for web programming and is slowly losing out to Python for everything else. That said, CPAN is an absolute goldmine of useful NLP libraries, (often well-documented, even) and almost makes perl worth it for this domain.
Java: Java's syntax isn't that complicated, there's just a lot of it. Be prepared to wade through millions of pages of API documentation. Java has a reputation for slowness, I don't know how much this situation has improved lately. Relatively popular for NLP purposes.
C#: .NET runtime is virtually unheard of in NLP circles, despite its plurality on this site. I'm sure it would be more or less up to the task, but you may have difficulty sharing with others in the field.
C++w/Boost/flex+bison: Just for completeness. Probably a bad idea if you're used to PHP. But your programs will be FAST.
Conclusion:
Perl or Python. I would personally go with Python, due to its simpler syntax. I share your loathing of the gratuitous OO of Java and C#. Don't go with PHP, I speak from experience here, its flaws are pretty serious once you start writing something serious.