Untitled

 avatar
unknown
plain_text
2 years ago
1.2 kB
5
Indexable
function converteData($string) {
   // Define um array com os padrões de data por extenso a serem identificados
   $padroes = array(
      '/([0-9]{1,2}) de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro) de ([0-9]{4})/',
      '/([0-9]{1,2}) de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro) de ([0-9]{2})/',
      '/([0-9]{2}) de (janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro) de ([0-9]{4})/',
      '/([0-9]{1,2}) (jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez) de ([0-9]{4})/',
      '/([0-9]{2}) (jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez) de ([0-9]{4})/'
   );
   
   // Define um array com os formatos de data correspondentes
   $formatos = array(
      'd \d\e F \d\e Y',
      'd \d\e F \d\e y',
      'd/m/Y',
      'd/m/Y',
      'd/m/Y'
   );
   
   // Substitui os padrões de data por extenso pelos formatos correspondentes
   $data = preg_replace($padroes, $formatos, $string);
   
   return $data;
}

// Exemplo de uso da função
$string = "1 de dezembro de 2020";
$data = converteData($string);
echo $data; // Output: 1 de dezembro de 2020 -> 01/12/2020
Editor is loading...