w3school preg_match_all preg_match ejemplos php regex preg-match ereg

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)

  1. ereg está en desuso. No lo uses
  2. 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)