O que mais vejo por aí são scripts monstruosos para se conseguir retornar a data por extenso para o usuário. É incrível a falta de coragem do pessoal em procurar novas alternativas para seus códigos, para que fiquem mais limpos, bonitinhos e tal.
Um exemplo que posso citar para justificar o que estou dizendo são dois links, neste o cara cria um script enorme, que logo como vamos ver, será colocado em desuso por nosso script milagroso. Agora esse vai além, o cara cria uma função para a mesma coisa que a anterior, escrever a data por extenso.
Agora vos apresento minha solução:

< ?php
setlocale(LC_ALL, 'portuguese', 'pt_BR', 'pt_br', 'ptb_BRA');
echo strftime("%A, %d de %B de %Y");
// Uma saída esperada é: terça-feira 29 de janeiro de 2008
?>

Juro pra você que é só isso que tem que fazer para se conseguir como resultado a data de hoje por extenso. Esqueça aqueles códigos enormes que você viu.
Locale é um conjunto de informações que define os formatos de número inteiros, monetários, tipo de caracteres, tempo, entre outros. Setlocale() serve para setar o locale que você quer usar no seu programa, como você pode ver alí, dou quatro referência de locales(portuguese, pt_BR, pt_br e ptb_BRA) para que ele não se perca e caso não haja o primeiro locale, ele parta para o próximo.

–edit–
Obrigado Aragão, pela dica.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Twitter
  • Live
  • Reddit
  • Yahoo! Bookmarks