Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LeandruMG

[Resolvido] Erro [ ereg() ]

Recommended Posts

Olá galera, gostaria de saber, se a possibilidade de vocês resolver esse problema

 

O erro que está parecendo em minha página é o seguinte:

Deprecated: Function ereg() is deprecated in C:\wamp\www\maisbotucatu\components\com_adsmanager\adsmanager.html.php on line 77

 

e a linha que ele acusa o erro seria o seguinte comando:

if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs ) ) {

 

vo passa a linha de comando inteira caso ajude-o:

function reorderDate( $date ){
return mosFormatDate($date);
}
function moduleIsNewAd($date,$nbdays) {
if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs ) ) {
if (defined('ADSMANAGER_DATE_FORMAT_LC'))
$format = ADSMANAGER_DATE_FORMAT_LC;
else
$format = _DATE_FORMAT_LC;

 

Estou utilizando a versão 5.3.0 do PHP

 

Eu sou o básico do básico em php, cheguei a tentar algumas alternativas(Nesse site) mais não consegui resolver o meu problema...

 

espero que possam ajudar-me

 

 

 

 

 

Obrigado,

 

Leandro Garcia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você mesmo buscou a solução e chegou nela. Só faltou um beiço de pulga rs.

Veja que o nosso amigo Thiago Belem disse isso:

 

Agora, com o PHP 5.3.0 precisamos usar a função preg_match(), dessa forma:

 

<?php

$palavra = '/(casa|carro)/';
$frase = 'Eu fui pra casa ontem!';

if (preg_match($palavra, $frase)) {
echo "A palavra 'casa' ou 'carro' foi encontrada na frase";
} else {
echo "A palavra 'casa' ou 'carro' não foi encontrada na frase";
}

?>

 

Repare que entrou uma barra (pra direita) antes e depois da expressão regular.

Você tem que usar preg_match, e para isso, você tem que adequar a sua ER fazendo exatamente o que ele falou (Repare que entrou uma barra (pra direita) antes e depois da expressão regular).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso não é um erro, mas um alerta de que a função está obsoleta. Isso significa que ela pode até funcionar, mas em versões futuras, ela não existirá mais e, consequentemente, seu distsema deixará de operar a contento.

 

Nasta usar preg_match() no lugar dela.

 

Apenas perceba que essa função requer delimitadores ao redor da ER. No caso, você pode usar um para de barras tranqüilamente:

$RegExp = '/SUA_ER/';
[EDIT]

 

Posts simultâneos Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vocês não poderiam inserir esses comando?! porque estou me perdendo aqui...

 

segue o código:

 


	function moduleIsNewAd($date,$nbdays) {
		if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs ) ) {
			if (defined('ADSMANAGER_DATE_FORMAT_LC'))
				$format = ADSMANAGER_DATE_FORMAT_LC;
			else
				$format = _DATE_FORMAT_LC;
			
			$date = mktime( 0, 0, 0, $regs[2], $regs[3], $regs[1] );
			$limitdate = mktime()-($nbdays*24*3600);
			if ($date >= $limitdate )
				return true;
			else
				return false;

como ele ficaria usando os comandos necessários?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido

Antes:

if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs ) ) {
Depois:

if ( $date && preg_match( "/([0-9]{4})-([0-9]{2})-([0-9]{2})/", $date, $regs ) ) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.