Hola
Estoy practicando PHP y me he encontrado con un código que utiliza la función eregi() y al sustituirla por preg_match() me lanza un warning. La parte del código es esta:
$pattern = "^(https?|ftp)\:\/\/([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?\$";
$url = trim($_POST['url']);
{
//Resto de codigo
y el warning:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in index.php on line 107
He leído que preg_match() necesita delimitadores, y al incluirlos $pattern me queda así
$pattern = "/^(https?|ftp)\:\/\/([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?\$/i"; //La i indica que no distinga entre MAY y min
pero me dice:
Warning: preg_match() [function.preg-match]: Unknown modifier '&' in index.php on line 107
Le agradecería mucho a quien me pueda ayudar.
Saludos