Foros del Web » Programando para Internet » PHP »

Ayuda please con ereg funcion deprecated

Estas en el tema de Ayuda please con ereg funcion deprecated en el foro de PHP en Foros del Web. Hola, estoy usando la funcion ereg en un menu para que me incluya una clase nueva cuando el link esta activo: Código PHP: <?php  function  ...
  #1 (permalink)  
Antiguo 18/05/2010, 10:41
Avatar de Crismorrison  
Fecha de Ingreso: marzo-2009
Ubicación: Argentina
Mensajes: 43
Antigüedad: 10 años, 9 meses
Puntos: 3
Exclamación Ayuda please con ereg funcion deprecated

Hola, estoy usando la funcion ereg en un menu para que me incluya una clase nueva cuando el link esta activo:
Código PHP:
<?php function Menu($sitio) {  $url 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];  if(ereg($sitio,$url)) {echo 'class="active"'; }  }  ?>
y despues en el enlace pongo:
Código PHP:
<li><a href="/services/managed-security-services/"<?php Menu('/services/managed-security-services/'?>>Managed Security Services</a><li/>
Lo que este script hace es darle la clase "active" (o lo que quieras) a la etiqueta "a" de ese item de el menu cuando estoy en esa pagina.
Entonces mediante css puedo destacar ese item de el menu cuando esta activo, sin importar en el nivel de subpaginas que me encuentre.
Bueno el problema es el siguiente:
A partir de PHP 5.3 la funcion ereg queda obsoleta y ha sido eliminada, esto me acabo de enterar, me salta en error "Function ereg is deprecated". debo reemplazar esta funcion por alguna otra que haga exactamente lo mismo , por ahi lei que la funcion "preg_match" es igual, intente reemplazarla pero no me funciona, quizas hay que agregar algo mas, no me sale, algo se me esta pasando en la sintaxis....POR FAVOR ALGUIEN ME PODRIA AYUDAR!!!!!!!!
GRACIAS!!!!!!!!!
__________________
Cris Morrison
  #2 (permalink)  
Antiguo 18/05/2010, 10:48
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 1 mes
Puntos: 334
Respuesta: Ayuda please con ereg funcion deprecated

bueno la sintaxis es parecida pero no igual
revisa la informacion en www.php.net/PCRE
recuerda que deben tener delimitadores
si era
Código PHP:
Ver original
  1. ereg("foo", "foobar");
ahora seria
Código PHP:
Ver original
  1. preg_match("/foo/", "foobar");

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 18/05/2010, 10:58
Avatar de Crismorrison  
Fecha de Ingreso: marzo-2009
Ubicación: Argentina
Mensajes: 43
Antigüedad: 10 años, 9 meses
Puntos: 3
Respuesta: Ayuda please con ereg funcion deprecated

Al guna otra ayuda mas directa por favor!!!!!!
__________________
Cris Morrison
  #4 (permalink)  
Antiguo 18/05/2010, 11:41
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 1 mes
Puntos: 334
Respuesta: Ayuda please con ereg funcion deprecated

Cita:
Iniciado por Crismorrison Ver Mensaje
Al guna otra ayuda mas directa por favor!!!!!!
que mas directo quieres.. te di la respuesta en bandeja de plata

agregale los delimitadores y te va a funcionar.. solo eso -.-

Código PHP:
Ver original
  1. <?php function Menu($sitio) {  $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];  if(preg_match("%".$sitio."%",$url)) {echo 'class="active"'; }  }  ?>
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 18/05/2010, 11:43
Avatar de Crismorrison  
Fecha de Ingreso: marzo-2009
Ubicación: Argentina
Mensajes: 43
Antigüedad: 10 años, 9 meses
Puntos: 3
ya lo solucione reemplazando ereg por strpos, gracias

Cita:
Iniciado por Hidek1 Ver Mensaje
que mas directo quieres.. te di la respuesta en bandeja de plata

agregale los delimitadores y te va a funcionar.. solo eso -.-

Código PHP:
Ver original
  1. <?php function Menu($sitio) {  $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];  if(preg_match("%".$sitio."%",$url)) {echo 'class="active"'; }  }  ?>
sos un groso. gracias
__________________
Cris Morrison

Última edición por GatorV; 18/05/2010 a las 11:53

Etiquetas: deprecated, ereg, funcion, preg
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:45.