Foros del Web » Programando para Internet » PHP »

Perdido con el ereg

Estas en el tema de Perdido con el ereg en el foro de PHP en Foros del Web. Necesito cambiar este código del ereg con preg_ : Código: <?php function Menu($sitio) { $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; if( ereg ($sitio,$url)) {echo 'id="current"'; } } ?> ...
  #1 (permalink)  
Antiguo 30/11/2011, 07:45
Avatar de platinum  
Fecha de Ingreso: marzo-2004
Mensajes: 204
Antigüedad: 20 años
Puntos: 0
Perdido con el ereg

Necesito cambiar este código del ereg con preg_:

Código:
<?php
function Menu($sitio) {

$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

if(ereg($sitio,$url)) {echo 'id="current"'; }

} ?>
He estado probando y he mirando el manual que hay en forosdelweb pero no consigo que acabe de funcionar.

¿Alguna idea?
  #2 (permalink)  
Antiguo 30/11/2011, 08:02
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Perdido con el ereg

y por qie no miras en php.net mejor?
  #3 (permalink)  
Antiguo 30/11/2011, 09:01
Avatar de platinum  
Fecha de Ingreso: marzo-2004
Mensajes: 204
Antigüedad: 20 años
Puntos: 0
Respuesta: Perdido con el ereg

Estoy igual. No tengo mucha idea de donde cometo el error.
  #4 (permalink)  
Antiguo 30/11/2011, 09:30
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Perdido con el ereg

Suponiendo que la expresión regular la tienes correcta, con sustituir ereg() por preg_match() debería funcionar. ¿Te arroja algún error?

Podrías hacerle un debug.

Saludos
  #5 (permalink)  
Antiguo 30/11/2011, 09:52
Avatar de platinum  
Fecha de Ingreso: marzo-2004
Mensajes: 204
Antigüedad: 20 años
Puntos: 0
Respuesta: Perdido con el ereg

La expresión regular funciona bien sin ningún problema

Si cambio ereg() por preg_match() me aparece:

Cita:
WARNING: WRONG PARAMETER COUNT FOR PREG_REPLACE() IN /HOME/XXXXX ON LINE 106
La linea 106 es:

Código:
if(preg_match($sitio,$url)) {echo 'id="current"'; }
  #6 (permalink)  
Antiguo 30/11/2011, 11:08
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 12 años, 6 meses
Puntos: 48
Respuesta: Perdido con el ereg

Va el patron y luego el string en el que buscas
int preg_match ( string $pattern , string $subject)

yo no usaria una expresion regular para lo que quieres usaria funciones mas simples como
Código PHP:
Ver original
  1. if(substr_count($sitio,$url)==1){
  2.    echo "Se encontro una coincidencia";
  3. }
  #7 (permalink)  
Antiguo 30/11/2011, 13:52
Avatar de platinum  
Fecha de Ingreso: marzo-2004
Mensajes: 204
Antigüedad: 20 años
Puntos: 0
Respuesta: Perdido con el ereg

El código entero que estoy usando es:

Código:
<?php
function Menu($sitio) {

$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

if(preg_match($sitio,$url)) {echo 'id="current"'; }

} ?>

<div id="menu"><ul><li <?php Menu('/carpeta/index2.php') ?> ><a href="index2.php" title="Inicio" class="active">INICIO</a></li><li <?php Menu('/carpeta/contacto.php'); ?> ><a href="menu2.php" title="Contacto" class="active">CONTACTO</a></li></ul></div>
De esta manera puede resaltar la sección que esta activa.

Etiquetas: ereg, perdido
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 18:37.