Мне кажется, что подключение регулярных выражений для такой простой операции -- это как из пушки по воробьям.
Я предпочитаю perl-compatible функции, вот у меня какой вариант получился:
Код:
echo preg_replace('/\\A\s*(.*[^\s])?\s*\\z/u', '$1', $str);
Есть способ проще (быстрее)?