Maison > développement back-end > tutoriel php > Comment puis-je extraire des URL du texte en PHP à l'aide d'expressions régulières ?

Comment puis-je extraire des URL du texte en PHP à l'aide d'expressions régulières ?

Linda Hamilton
Libérer: 2024-12-20 21:04:14
original
636 Les gens l'ont consulté

How Can I Extract URLs from Text in PHP Using Regular Expressions?

Extraction d'URL à partir de texte en PHP à l'aide d'expressions régulières

Dans le contexte de la programmation PHP, l'extraction d'URL à partir de texte peut être réalisée via expressions régulières, notamment en utilisant la fonction preg_match(). Voici une explication détaillée :

Utilisation d'expressions régulières avec preg_match()

La fonction preg_match() prend deux paramètres :

  • Modèle : L'expression régulière à comparer avec le text.
  • String : Le texte à rechercher.

Dans ce cas, nous devons construire une expression régulière qui correspond aux URL. Voici un exemple de modèle :

#\bhttps?://[^\s()<>]+(?:([\w\d]+)|([^[:punct:]\s]|/))#
Copier après la connexion

Ce modèle capture les URL au format suivant :

  • Commence par le protocole "http" ou "https".
  • Correspond à un nom de domaine ou à une adresse IP.
  • Peut avoir un numéro de port facultatif ou chemin.

Application de l'expression régulière

Pour extraire l'URL du texte fourni, utilisez le code suivant :

preg_match_all('#\bhttps?://[^\s()<>]+(?:([\w\d]+)|([^[:punct:]\s]|/))#', $string, $match);
Copier après la connexion

où $string contient le texte à rechercher.

Accès aux éléments capturés URL

Les résultats de la correspondance d'expression régulière sont stockés dans le tableau $match. L'URL est capturée dans le premier groupe, accessible comme suit :

$url = $match[1][0];
Copier après la connexion

Notez que cette expression régulière a encore des limites dans la gestion de certaines URL mal formées. Pour des scénarios plus complexes, des approches alternatives telles que l'utilisation de la fonction wp-includes/formatting.php de WordPress peuvent être nécessaires.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal