Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problemas con la funcion preg_match

Estas en el tema de problemas con la funcion preg_match en el foro de PHP en Foros del Web. Saludos, tengo este Notice en wamp server: Warning: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Unknown modifier '-' in el error lo muestra en linea 20 y alli tengo ...
  #1 (permalink)  
Antiguo 26/06/2013, 07:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
problemas con la funcion preg_match

Saludos, tengo este Notice en wamp server:

Warning: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Unknown modifier '-' in

el error lo muestra en linea 20 y alli tengo esto:

Código PHP:
 <?php
   
}
  
//Se obtienen todas las bases de datos disponibles
  
require_once('Connections/Boleteria.php');
  
mysql_select_db($database_boleteria$boleteria);
  
$diaevento=$_SESSION['fechasele'];
  
$descevento=$_SESSION['descripc'];
  
$codevento=$_SESSION['codevento'];
  
preg_match("([0-9]{1,2})-([0-9]{1,2})-([0-9]{4})",$diaevento,$mifecha);
  
$mifecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];  
?>
no hayo como quitar ese notice. de antemano gracias un saludos a todo(as)

NOTA: en donde se encuentra el preg_match anteriormente estaba el ereg.

Última edición por sniffer_ven; 26/06/2013 a las 07:20
  #2 (permalink)  
Antiguo 26/06/2013, 08:06
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 12 años, 7 meses
Puntos: 34
Respuesta: problemas con la funcion preg_match

Código PHP:
Ver original
  1. preg_match("([0-9]{1,2})\-([0-9]{1,2})\-([0-9]{4})",$diaevento,$mifecha);

Creo que los guiones hay que escaparlos con una barra invertida \, prueba a ver. Saludos.
  #3 (permalink)  
Antiguo 26/06/2013, 08:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: problemas con la funcion preg_match

De hecho el error tiene que ver con los delimitadores de la expresión, no los hay y por eso toma los paréntesis como si lo fueran, al cerrarse se encuentra con un guión y por ende piensa que debería ser un modificador.

Hay que leer lo siguiente: http://php.net/manual/es/regexp.refe...delimiters.php

Cita:
NOTA: en donde se encuentra el preg_match anteriormente estaba el ereg.
Para que funcione igual no basta con cambiar de función, hay que respetar otras reglas, consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 26/06/2013, 08:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: problemas con la funcion preg_match

me quito el error de la linea antes nombrada pero me paso el error a la de abajo lo coloque de esta manera

Código PHP:
  <?php
   
}
  
//Se obtienen todas las bases de datos disponibles
  
require_once('Connections/Boleteria.php');
  
mysql_select_db($database_boleteria$boleteria);
  
$diaevento=$_SESSION['fechasele'];
  
$descevento=$_SESSION['descripc'];
  
$codevento=$_SESSION['codevento'];
  
preg_match("/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/",$diaevento,$mifecha);    
  
$mifecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1];  
?>
el error se me paso para aca:

Código PHP:
 $mifecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1]; 
y dice lo siguiente:

Cita:
( ! ) Notice: Undefined offset: 3 in C:\wamp\www\BoleteriaInternet\seleccionar_sector.p hp on line 21
Call Stack
# Time Memory Function Location
1 0.0137 397000 {main}( ) ..\seleccionar_sector.php:0

( ! ) Notice: Undefined offset: 2 in C:\wamp\www\BoleteriaInternet\seleccionar_sector.p hp on line 21
Call Stack
# Time Memory Function Location
1 0.0137 397000 {main}( ) ..\seleccionar_sector.php:0

( ! ) Notice: Undefined offset: 1 in C:\wamp\www\BoleteriaInternet\seleccionar_sector.p hp on line 21
Call Stack
# Time Memory Function Location
1 0.0137 397000 {main}( ) ..\seleccionar_sector.php:0
  #5 (permalink)  
Antiguo 26/06/2013, 09:22
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 12 años, 7 meses
Puntos: 34
Respuesta: problemas con la funcion preg_match

Eso es que no existe $mifecha[3] ni las demás variables. Por lo tanto el error sigue estando en la expresión, revísala con los datos que te pasó pateketrueke.
  #6 (permalink)  
Antiguo 27/06/2013, 09:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: problemas con la funcion preg_match

Gracias lo pude resolver de esta manera:

Código PHP:
preg_match("#([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})#",$diaevento,$mifecha);    
  
$mifecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; 
use el delimitador # ya que las barras / no me la tomaba.

Gracias a todos.

Etiquetas: funcion, mysql, select
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 10:49.