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
Linda Hamiltonoriginal
2024-12-20 21:04:14528parcourir

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]|/))#

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);

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];

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:
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