Expression régulière pour faire correspondre les URL avec ou sans protocoles
Pour les URL pouvant inclure ou non le préfixe "http://www" , une expression régulière peut être utilisée pour effectuer l'opération de correspondance. Un modèle RegEx détaillé est fourni ci-dessous :
((https?|ftp)://)?([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)?([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))(:[0-9]{2,5})?(/([a-z0-9+$_%-]\.?)+)*/?(\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)?(\#[a-z_.-][a-z0-9+$%_.-]*)?
Pour utiliser ce modèle pour la validation d'URL, il peut être appliqué de la manière suivante :
<code class="php">if (preg_match("~^$regex$~i", 'www.example.com/etcetc', $m)) var_dump($m); if (preg_match("~^$regex$~i", 'http://www.example.com/etcetc', $m)) var_dump($m);</code>
Cette solution RegEx offre une méthode complète pour faire correspondre les URL, qu'elles contiennent ou non le préfixe "http://".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
// 处理每一行数据
$download_list[] = str_replace(['/',"'",')','('],['\/',"\'",'\)','\('],addslashes($row['name']));
}
if(!empty($download_list))
{
$download_reg = preg_quote(implode('|',$download_list));
preg_match_all('/'.$download_reg.'/is', $content, $matches);
if (!empty($matches[0])) {
$games = $matches[0];
foreach ($matches[0] as $key => $match) {
$tempTag = "<🎜>";
$tempTags[] = $match;
$content = str_replace($match, $tempTag, $content);
}