Lo que hace el script es, guarda en una array cada uno de los saltos de linea y crea otro array en el que elimina las lineas vacidas[Saltos de lineas vacidos] y posteriormente, hago varias comprobaciones con cada linea.
Código PHP:
if(@$_GET['id'] == 'upload_validate'):
session_start();
ini_set('max_execution_time', 300);
if(!isset($_SESSION['username'])):
echo 'Tienes que iniciar session';
elseif(empty($_POST['language'])):
echo 'Selecciona el lenguaje.';
elseif(empty($_POST['serie'])):
echo 'Selecciona la serie.';
elseif(empty($_POST['code'])):
echo 'Debes introducir almenos 1 enlace.';
else:
$code = explode("\n",$_POST['code']);
//Eliminar los espacios en blanco
$code_good = array();
foreach($code as $n => $value):
if(strlen($value) >= 5):
$code_good[] = $value;
else:
unset($code[$n]);
endif;
endforeach;
if(empty($_POST['temporada']) && empty($_POST['capitulo'])):
foreach($code_good as $n => $value):
$enlace = explode(' ',$value); //Enlace[1]
@$enlace[1] = trim($enlace[1]);
@$temporada = explode('x',$enlace[0]); //Temporada[0] Temporada[1]
if(!preg_match('/^([\0-9]+)x([0-9]+) \b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i',$value)):
echo 'La estructura('.$value.') es incorrecta.';
exit();
else:
$enlace1[1] = $enlace[1];
$check_url = explode('://', $enlace[1]);
$check_url1 = explode('/', $check_url[1]);
$enlace[1] = $check_url[0].'://'.$check_url1[0];
$url1 = $database->runQuery("SELECT type FROM login_url WHERE url = '".$enlace[1]."'");
if($url2 = mysqli_fetch_assoc($url1)):
//Enlace
$enlace2 = $database->runQuery("SELECT enlace FROM enlace WHERE enlace = '".mysqli_real_escape_string($db, $value)."'");
if($enlace3 = mysqli_fetch_assoc($enlace2)):
echo 'El enlace('.$value.') ya ha sido publicado.<br>';
exit();
endif;
else:
echo 'La URL('.$enlace1[1].') no esta permitida en nuestra base de dato.';
exit();
endif;
endif;
endforeach;
else:
foreach($code_good as $n => $value):
$value = trim($value);
if(!preg_match('/^\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i',$value)):
echo 'La estructura('.$value.') es incorrecta.';
exit();
elseif(filter_var($value, FILTER_VALIDATE_URL) === false):
echo 'La pagina web('.$value.') es incorrecta.';
exit();
else:
$value1 = $value;
$check_url = explode('://', $value);
$check_url1 = explode('/', $check_url[1]);
$value = $check_url[0].'://'.$check_url1[0];
$url1 = $database->runQuery("SELECT type FROM login_url WHERE url = '".$value."'");
if($url2 = mysqli_fetch_assoc($url1)):
//Enlace
$enlace2 = $database->runQuery("SELECT enlace FROM enlace WHERE enlace = '".mysqli_real_escape_string($db, $value1)."'");
if($enlace3 = mysqli_fetch_assoc($enlace2)):
echo 'El enlace('.$value1.') ya ha sido publicado.<br>';
exit();
endif;
else:
echo 'La URL('.$value1.') no esta permitida en nuestra base de dato.';
exit();
endif;
endif;
endforeach;
endif;
endif;
endif;