If I understand correctly, you have:
- two regular expressions within an associative array
- and any URL taken from an input
And from what you see, you want to verify if the URL of the input complies with the regular expressions that are inside your array.
So, one way to do it would be like this:
NOTE: I have modified the original code, evaluating only the link
of the array, so that the code is more specific and the logic does not fail if in the future you decide to add more key pairs / value to that array.
<?php
$arg = array(
"vimeo"=> array("link" => '/https?:\/\/[w\.]*vimeo\.[^\/]*\/([^?]*)/is' ),
"dailymotion"=>array("link" => '/https?:\/\/[w\.]*dailymotion\.[^\/]*\/([^?]*)/is',),
);
$input="https://www.dailymotion.com/is/video";
compararURL($input,$arg);
$input="https://www.dailymotionsss.com/is/video";
compararURL($input,$arg);
$input="https://www.vimeo.com/is/894regqvideo";
compararURL($input,$arg);
$input="https://www.example.com";
compararURL($input,$arg);
function compararURL($input,$arg){
foreach ($arg as $k=>$v){
if (preg_match($v["link"], $input)){
echo "Hay coincidencias con: ".$v["link"]." ";
echo $input.PHP_EOL;
}else{
echo "No hay coincidencias con ".$v["link"];
echo " -> ";
echo $input.PHP_EOL;
}
}
}
?>
Test results
No hay coincidencias con /https?:\/\/[w\.]*vimeo\.[^\/]*\/([^?]*)/is -> https://www.dailymotion.com/is/video
Hay coincidencias con: /https?:\/\/[w\.]*dailymotion\.[^\/]*\/([^?]*)/is https://www.dailymotion.com/is/video
No hay coincidencias con /https?:\/\/[w\.]*vimeo\.[^\/]*\/([^?]*)/is -> https://www.dailymotionsss.com/is/video
No hay coincidencias con /https?:\/\/[w\.]*dailymotion\.[^\/]*\/([^?]*)/is -> https://www.dailymotionsss.com/is/video
Hay coincidencias con: /https?:\/\/[w\.]*vimeo\.[^\/]*\/([^?]*)/is https://www.vimeo.com/is/894regqvideo
No hay coincidencias con /https?:\/\/[w\.]*dailymotion\.[^\/]*\/([^?]*)/is -> https://www.vimeo.com/is/894regqvideo
No hay coincidencias con /https?:\/\/[w\.]*vimeo\.[^\/]*\/([^?]*)/is -> https://www.example.com
No hay coincidencias con /https?:\/\/[w\.]*dailymotion\.[^\/]*\/([^?]*)/is -> https://www.example.com