php - preg_match_all - preg_match()
Solución de problemas "El delimitador no debe ser alfanumérico o barra invertida" error al cambiar ereg() a preg_match() (2)
-
ereg
está en desuso. No lo uses - Las funciones
preg
son todas "expresiones regulares de Perl", lo que significa que necesita tener algún tipo de marcador de inicio y final en su expresión regular. A menudo esto será/
o#
, pero cualquier no alfanumérico funcionará bien.
Por ejemplo, estos funcionarán:
preg_match("/foo/u",$needle,$haystack);
preg_match("#foo#i",$needle,$haystack);
preg_match("@foo@",$needle,$haystack);
preg_match("/$foo/$w",$needle,$haystack); // bad idea because `$` means something
// in regex but it is valid anyway
// also, they need to be escaped since
// I''m using " instead of ''
Pero esto no lo hará:
preg_match("foo",$needle,$haystack); // no delimiter!
Posible duplicado:
Convertir expresiones ereg a preg
<?php
$searchtag = "google";
$link = "http://images.google.com/images?hl=de&q=$searchtag&btnG=Bilder-Suche&gbv=1";
$code = file_get_contents($link,''r'');
ereg("imgurl=http://www.[A-Za-z0-9-]*.[A-Za-z]*[^.]*.[A-Za-z]*", $code, $img);
ereg("http://(.*)", $img[0], $img_pic);
echo ''<img src="''.$img_pic[0].''" width="70" height="70">''; ?>
Y me sale este error
En desuso: la función ereg () está en desuso en C: / Archivos de programa / EasyPHP-5.3.8.1 / www / m / img.php en la línea 5
En desuso: la función ereg () está en desuso en C: / Archivos de programa / EasyPHP-5.3.8.1 / www / m / img.php en la línea 6
Las funciones preg_match () dan este error.
Advertencia: preg_match () [function.preg-match]: el delimitador no debe ser alfanumérico ni barra invertida en C: / Archivos de programa / EasyPHP-5.3.8.1 / www / m / img.php en la línea 6
Advertencia: preg_match () [function.preg-match]: el delimitador no debe ser alfanumérico ni barra invertida en C: / Archivos de programa / EasyPHP-5.3.8.1 / www / m / img.php en la línea 7
Con preg_match()
su expresión regular debe comenzar y terminar con un delimitador como /
con algunas excepciones (por ejemplo, agregar "i" al final para no tener en cuenta las mayúsculas y minúsculas).
p.ej
preg_match(''/[regex]/i'', $string)